2011-02-01 103 views
5

我希望有人可能會善意幫助我解決此問題。彈出式窗口返回值

我在做什麼我從一個彈出窗口返回一個值到使用javascript啓動它的父窗口。

我已經試過呼籲(在各種網站爲已讀)

window.opener.document.forms[0].textField.value = 'value' 

不過,雖然這不會產生任何錯誤,它不會改變的字段值。

我曾嘗試在網絡上尋找解決方案,但由於許多網站涉及'谷歌彈出返回值',結果可追溯到2000年,許多似乎互相沖突,所以我有點困惑。

理想情況下,我希望做的是讓彈出窗口等待做出決定(是或否),並從父窗口返回調用函數的真或假值。作爲這個原因,是我有一個窗體使用onsubmit來調用javascript函數來確認天氣不會繼續。我正在使用一個對話框來返回一個真正的假值,但現在試圖通過彈出來實現,所以我可以包含圖像和各種其他信息。

希望我已經解釋得很好,有人可以幫我解決問題。

謝謝你的時間。在子頁面

回答

1

使用這種父頁面

var answer = window.open(<your page and other arguments>) 
if (answer == 1) 
     do some thing 

window.returnValue = 1; 
+4

我按照你的建議嘗試了這個,但是這個父窗口並不等待來自子窗口的回覆。我認爲這也是在if子句中,我根據返回值設置了一個元素innerHtml的任何內容的原因。 – yesiamconfused 2011-02-01 20:44:08

+0

顯然這隻有在您使用showModalDialog打開窗口時纔有效。它看起來並沒有得到廣泛的支持。 https://msdn.microsoft.com/zh-cn/library/ms534371(v=vs.85).aspx – Liazy 2016-11-01 12:52:08

4

您可以參考,從彈出打開的彈出窗口......在這個例子中,一些彈出窗口調用此函數(它存在的彈出窗口)通過在「VAL」 ......

<script language="javascript"> 
    function GetRowValue(val) 
    { 
     // hardcoded value used to minimize the code. 
     // ControlID can instead be passed as query string to the popup window 
     window.opener.document.getElementById("ctl00_ContentPlaceHolder1_TextBox2").value = val; 
     window.close(); 

    } 

    </script> 
0

嘗試以下方法:要返回的值

window.opener.document.getElementById("sizeId" + rn).value 

以上尺寸的ID將匹配輸入類型的父窗口的ID。