作者 主題: 網頁之間 target 的問題  (閱讀 13673 次)

0 會員 與 1 訪客 正在閱讀本文。

Tim

  • 活潑的大學生
  • ***
  • 文章數: 450
  • 性別: 男
    • 檢視個人資料
    • http://www.lab.mlc.edu.tw/
網頁之間 target 的問題
« 於: 2003-04-22 20:52 »
http://freebsd.lab.mlc.edu.tw/temp/showModalDialog.htm
這個原始視窗中有個連結會開啟新的視窗。

新視窗中有個 from ,我希望在 submit 之後,此新視窗能關閉,並 action 在原來的那個原始視窗之中。

有點類似 http://bbs.openfind.com.tw/ 中的樣子。

有範例可以讓我參考嗎!

小穎

  • 俺是博士!
  • *****
  • 文章數: 1005
    • 檢視個人資料
網頁之間 target 的問題
« 回覆 #1 於: 2003-04-23 10:20 »
您應可以利用javascript中的window.opener及window.close來達成您要的結果!^^

blueblueblu

  • 可愛的小學生
  • *
  • 文章數: 6
    • 檢視個人資料
    • http://blueblueblu.twbbs.org
網頁之間 target 的問題
« 回覆 #2 於: 2003-04-23 10:21 »
這要使用子母視窗的方法..

index.htm or index.php

代碼: [選擇]
<SCRIPT LANGUAGE="JavaScript">
<!--
document.onload=window.open('login.php','SWindow','directories=no,location=no,menubar=no,toolbar=no,scrollbars=no,height=300,width=370,screenX=100,screenY=100');
//-->
</SCRIPT>
<script>location='list.php';</script><==本行可不寫


當使用者連到這頁時,原本連的瀏覽器會轉到list.php這個頁面,另外會新開一個小視窗是login.php,當<script>location='list.php';</script>不寫時,則不會轉頁面,還是在原本的頁面

login.php...
內容很簡單~只是一般填寫login的資料,當送出到check.php時才會做判斷

check.php...

當判斷通過時則寫以下的code...
[code]<SCRIPT LANGUAGE="JavaScript">
<!--
function GoWin(WO) {
   if (opener.closed) {
      NewWin=window.open("","WWindow");
      NewWin.focus();
      NewWin.location.href=WO;
   }else{
      opener.location.href=WO;
   }
}
//-->
</SCRIPT>

<body onload=javascript:GoWin('welcome.php')&window.close()> <==這樣通過後,welcome.php的內容會出

以上的code是我實驗過的,是用書上的範例再改寫而成

試試看吧~(由於我的程式中混了一些特殊的碼,這邊我只貼了你需要的,或許我少貼了,所以跑出來會有error,若有error你再告訴我吧!!) 加油囉~~

Tim

  • 活潑的大學生
  • ***
  • 文章數: 450
  • 性別: 男
    • 檢視個人資料
    • http://www.lab.mlc.edu.tw/
網頁之間 target 的問題
« 回覆 #3 於: 2003-04-23 14:15 »
解決了,說穿了,沒用到javascript。
但是整體的畫面用frame處理,然後
form target="main"
submit時就會作用到指定的窗格中。

進階一點討論:
當別人開啟我的網頁時,我能替這個單一的網頁(沒有frame)指定一個name嗎!
如果可以,剛才的target就能直接使用,而不必切割frame了。

paulso

  • 俺是博士!
  • *****
  • 文章數: 1966
    • 檢視個人資料
網頁之間 target 的問題
« 回覆 #4 於: 2003-04-23 15:53 »
若果沒分frame的話, 不用指定一個名稱的, 只需
代碼: [選擇]
<form action="" method=post>

便行了

Tim

  • 活潑的大學生
  • ***
  • 文章數: 450
  • 性別: 男
    • 檢視個人資料
    • http://www.lab.mlc.edu.tw/
網頁之間 target 的問題
« 回覆 #5 於: 2003-04-23 17:58 »
引述: "paulso"
若果沒分frame的話, 不用指定一個名稱的, 只需
代碼: [選擇]
<form action="" method=post>

便行了

不指定 action ,那表單的資料要送給誰處理?

paulso

  • 俺是博士!
  • *****
  • 文章數: 1966
    • 檢視個人資料
網頁之間 target 的問題
« 回覆 #6 於: 2003-04-23 20:37 »
就是自己了, 傳送給自己
http://s4u.no-ip.org/users/test1.php
試試看^^

Tim

  • 活潑的大學生
  • ***
  • 文章數: 450
  • 性別: 男
    • 檢視個人資料
    • http://www.lab.mlc.edu.tw/
網頁之間 target 的問題
« 回覆 #7 於: 2003-04-23 21:03 »
引述: "paulso"
就是自己了, 傳送給自己
http://s4u.no-ip.org/users/test1.php
試試看^^

有如大夢初醒。
您方便在test1.php最底下加一行
show_source( basename( getenv("SCRIPT_FILENAME") ) );

謝謝您的指導。

paulso

  • 俺是博士!
  • *****
  • 文章數: 1966
    • 檢視個人資料
網頁之間 target 的問題
« 回覆 #8 於: 2003-04-23 21:34 »
這句有什麼作用

Tim

  • 活潑的大學生
  • ***
  • 文章數: 450
  • 性別: 男
    • 檢視個人資料
    • http://www.lab.mlc.edu.tw/
網頁之間 target 的問題
« 回覆 #9 於: 2003-04-23 21:53 »
秀 PHP 的原始碼,以利後進仿效學習啦!

paulso

  • 俺是博士!
  • *****
  • 文章數: 1966
    • 檢視個人資料
網頁之間 target 的問題
« 回覆 #10 於: 2003-04-23 23:05 »
代碼: [選擇]
<html>
<head>
<title>
Test1
</title>
</head>
<body>
<form action="" method=post>
<br>
<select name=selected_value>
<option value=value1 <?if ($selected_value=="value1")echo "selected"?>>value1</option>
<option value=value2 <?if ($selected_value=="value2")echo "selected"?>>value2</option>
<option value=value3 <?if ($selected_value=="value3")echo "selected"?>>value3</option>
<option value=value4 <?if ($selected_value=="value4")echo "selected"?>>value4</option>
</select>
<br>
<br>
<input type=submit name=submit_button value=送出>
<br>
<br>
<?
if ($submit_button == "送出") echo "<b>你選擇了 : $selected_value</b>";
?>
<br>
</form>
</body>
</html>


Tim

  • 活潑的大學生
  • ***
  • 文章數: 450
  • 性別: 男
    • 檢視個人資料
    • http://www.lab.mlc.edu.tw/
網頁之間 target 的問題
« 回覆 #11 於: 2003-04-23 23:17 »
謝謝您熱心的提供資料。

因為我的 register_globals = Off

所以,PHP程式頂端加一行
while ( list( $key, $val ) = each( $HTTP_POST_VARS ) )  $$key = $val;
才能順利執行。

ps. 這一行,也是從網路上的前輩提供的資料抄起來的。
謝謝大家。

最後的成果在這裡:
http://hps92.sport.mlc.edu.tw/test_select.php

paulso

  • 俺是博士!
  • *****
  • 文章數: 1966
    • 檢視個人資料
網頁之間 target 的問題
« 回覆 #12 於: 2003-04-23 23:39 »
為何我行不倒這句的?
show_source( basename( getenv("SCRIPT_FILENAME") ) );

這裏
http://s4u.no-ip.org/users/test1.php

Tim

  • 活潑的大學生
  • ***
  • 文章數: 450
  • 性別: 男
    • 檢視個人資料
    • http://www.lab.mlc.edu.tw/
網頁之間 target 的問題
« 回覆 #13 於: 2003-04-23 23:54 »
我的PHP是4.3.1
您的是哪一版。
我玩PHP兩週,還不是很熟。
這兩週很用力地在找資料。

paulso

  • 俺是博士!
  • *****
  • 文章數: 1966
    • 檢視個人資料
網頁之間 target 的問題
« 回覆 #14 於: 2003-04-24 01:33 »
4.2.2, 兩週以經很強喲

Tim

  • 活潑的大學生
  • ***
  • 文章數: 450
  • 性別: 男
    • 檢視個人資料
    • http://www.lab.mlc.edu.tw/
網頁之間 target 的問題
« 回覆 #15 於: 2003-04-24 05:42 »
還望前輩多多提攜照顧。