2014-01-12 50 views
-1

我已創建了兩種不同形式的兩個幀作爲顯示在下面的聯繫在一個幀中的形式值:訪問來自另一幀

http://demo.4page.info/framedemo/main.html(請IE瀏覽)

現在,當我點擊Get Text按鈕,預定義的值應該顯示在它上面的文本框中,然後當我點擊Copy Here按鈕時,應該在其上面的文本框中顯示與textbox1相同的值。

所以我的問題是如何通過點擊複製在這裏按鈕來訪問第二幀的形式值?

下面是我的代碼:

<!--main.html--> 
<html> 
<head> 
<frameset cols="50%, 50%"> 
    <frame name="f1" src="left.html" /> 
    <frame name="f2" src="right.html" /> 
</frameset> 
</head> 
</html> 

這成功地劃分頁面分成兩幀。

<!--left.html--> 
<html> 
<head> 
<link rel="stylesheet" type="text/css" href="style.css" /> 
<script type="text/vbscript"> 
    dim msg 
    msg="Hello" 
    function func() 
    document.form1.text1.value=msg 
    end function 
</script> 
</head> 
<body> 
    <form name="form1"> 
    <table align="center" cellspacing="5"> 
    <tr><td><input type="text" name="text1" /></td></tr> 
    <tr><td><input type="button" value="Get Text" onClick="func()" /></td></tr> 
    <tr><td><input type="reset" name="reset" value="Reset" /></td></tr> 
    </table> 
</form> 
</body> 
</html> 

left.html工作正常,訪問按鈕單擊值。

<!--right.html--> 
<html> 
<head> 
<link rel="stylesheet" type="text/css" href="style.css" /> 
<script type="text/vbscript"> 

</script> 
</head> 
<body> 
<form name="form2"> 
    <table align="center" cellspacing="5"> 
    <tr><td><input type="text" name="text2" /></td></tr> 
    <tr><td><input type="button" value="Copy Here!" onClick="??????" /></td></tr> 
    <tr><td><input type="reset" name="reset" value="Reset" /></td></tr> 
    </table> 
</form> 
</body> 
</html> 

我必須在right.html放什麼?

回答

0

您可以通過parent對象的frames屬性來訪問其它幀的內容,所以這樣的事情應該工作:

<script type="text/vbscript"> 
Sub CopyHere 
    document.form2.text2.value = parent.frames("f1").document.form1.text1.value 
End Sub 
</script> 
... 
<form name="form2"> 
    <input type="text" name="text2" /></td></tr> 
    <input type="button" value="Copy Here!" onClick="CopyHere()" /> 
</form> 

請注意,您可能需要調整您的瀏覽器安全設置的代碼工作。

在一個更一般的筆記我建議使用id屬性,而不是name屬性,因爲後者已被棄用。