[英]How can I pass value to iFrame with javascript?
我在頁面中打開了一個iFrame,onClick事件嘗試將值發送到iframe的文本框
這是我的JavaScript代碼
<script type="text/javascript">
function TextToFrame()
{
var frame = frames['frame1'];
frame.document.getElementById("u").value = "wallace";
}
</script>
IFrame會加載頁面,但是當我單擊Button時,它不會發送任何值。 刷新主頁和iFrame
<asp:Button ID="Button1" runat="server" OnClientClick="TextToFrame();" Text="Send Value" />
<IFRAME id="frame1" name="frame1" src="http://tweakers.net/my.tnet/login?location=http%3A%2F%2Ftweakers.net%2F" width=500px height=500px runat="server">
我究竟做錯了什么? 任何幫助表示贊賞
我認為您無法在其他域的iframe中修改HTML。 您可能可以將iframe源更改為以下內容:
http://tweakers.net/my.tnet/login?u=wallace
但該網站應為您提供類似的選擇。
有一個解決方案:
document.getElementsByName('frame1')[0].contentWindow.getElementById("u").value = "wallace";
您無法在src
屬性與其所在域不同的iframe中操縱數據。
它不允許您跨域使用。
看看這個- 同源政策
我同意Haroldis的觀點,但還有一點:
<script type="text/javascript">
function TextToFrame()
{
document.getElementsByName('frame1')[0].contentWindow.getElementById("u").value = "wallace";
return false; // For No Post Back in the container Page
}
</script>
和按鈕:
<asp:Button ID="Button1" runat="server" OnClientClick="return TextToFrame();" Text="Send Value" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.