[求助]在javascript遇到的難題

我想在二個不同視窗中傳資料數值,以下是我其中一個的程式

function SendVal(){
text = document.F.FVAL.value;
parent.index.document.F.FVAL.value = text;

把01搜完了..固狗大神找完了..圖書館借的書都翻完了
我的js還是跑不出來...
有沒有哪位大大可以幫幫忙指點一下迷津???

2005-05-09 22:17 發佈
文章關鍵字 JavaScript 難題
我不太懂javascript

但用DHTML會不會比較好解決一些…
老爺別這樣,少奶奶會罵!
這兩個視窗是怎麼產生的?
是在frameset裡
還是母子視窗呢?
MLing wrote:
二個不同視窗中傳資料數值
要看你的接質欄位在哪.

你把整個js傳給我看看吧. 或是你的網頁在哪邊. 幫你看一下好了 只有這樣一段code根本不知道你是在幹嘛.
以下是二個檔案.我主要只是想從子頁面將數值傳回主頁面..

主頁面
(HTML>
(SCRIPT LANGUAGE = "JavaScript">
(!--
(function CreateWindow(){
( msgWindow=window.open("test.htm","displayWindow","toolbar=no,width=350,
(height=400,directories=no,status=no,scrollbars=yes,resize=no,menubar=no");
(}
(//-->
(/SCRIPT>
(BODY>
(FORM NAME="F">
(input type="Text" name="FVAL" size="20" maxlength="10">
(INPUT TYPE="button" VALUE="通訊錄" onClick ="CreateWindow();"></FORM>
(/center>
(P>
(/BODY>
(/HTML>


子頁面
(HTML>
(SCRIPT LANGUAGE="JavaScript">
(!--
(function SendVal(){
( text = document.F.FVAL.value;
( parent.index.document.F.FVAL.value = text;
(}
(// -->
(/SCRIPT>
(FORM NAME="F">
(INPUT TYPE="TEXT" NAME="FVAL" size="20">
(INPUT TYPE="BUTTON" VALUE="傳至主視窗" onclick="SendVal();">
(/FORM>
(/BODY>
(/HTML>
子頁面如果是母頁面開啟的話, 你是可以用
windows.opener.document.F.FVal = value;

傳回母頁面可以call windows.opener.document.***
or parent.document.****

還有一個方法就是, windows.opener.document.all('欄位名稱').value = 輸入的欄位.
parent.top.all('欄位名稱').value

大概是這樣子, 正確的Syntex 我還要在想一下. 因為我也很久沒碰JS了. 你也可以上網MSDN找看看

MLing, 你要不要乾脆把source code 傳給我, 我幫你看看, 因為這樣還是很難幫你找問題. 還有, 我建議你把Form的名稱改成ParnetFrm, and ChildFrm 這樣比較好debug啦, 不然像你這樣用F, 你到時候debug就知道死活了.

PS: 我現在來寫個小sample給你用好了... 等我一下
Parent.html:
---------------------------------------------------------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<title>Untitled Document</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body>

<form name="ParentForm">

<input type="text" name="textInput">

<input type="button" value="open windows" onClick="window.open('child.html','mywindow','width=400,height=200')">

</form>

</body>

</html>
---------------------------------------------------------------------------------------------------

child.html
---------------------------------------------------------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<title>Untitled Document</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>



function passBackToParent()

{

alert(document.childForm.input1.value);//pop up windows to show input value

opener.document.ParentForm.textInput.value = document.childForm.input1.value;

//opener.document.ParentForm.textInput.value 代表母頁面的欄位. document.childform.input1.value 代表本身子頁面的欄位

window.close();

}


<body>

<form name="childForm">

<input type="text" name="input1">

<input type="button" value="pass Value" onClick=" passBackToParent()">

</form>

</body>

</html>


---------------------------------------------------------------------------------------------------

我已經測試過ok了. 你研究一下吧
其實這二個就是全部的程式碼了.因為我現在的問題是出在傳值..
所以.只用了最簡單的東西...
我想做的東西是..子頁面連資料庫...再把數值傳回主頁面..
謝謝你..我來去試試..

-----我是分隔線-----
傳值ok了..謝謝你

Asimo118 wrote:
子頁面如果是母頁面開啟的話, 你是可以用
windows.opener.document.F.FVal = value;

傳回母頁面可以call windows.opener.document.***
or parent.document.****

還有一個方法就是, windows.opener.document.all('欄位名稱').value = 輸入的欄位.
parent.top.all('欄位名稱').value

大概是這樣子, 正確的Syntex 我還要在想一下. 因為我也很久沒碰JS了. 你也可以上網MSDN找看看

MLing, 你要不要乾脆把source code 傳給我, 我幫你看看, 因為這樣還是很難幫你找問題. 還有, 我建議你把Form的名稱改成ParnetFrm, and ChildFrm 這樣比較好debug啦, 不然像你這樣用F, 你到時候debug就知道死活了.

PS: 我現在來寫個小sample給你用好了... 等我一下
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?