2016-02-29 66 views
0

我的站點在單擊按鈕時打開一個彈出窗口,現在,用戶可以單擊確定或取消。如果確定,則必須發送父級表單。向父級彈出返回參數

家長:

<input class="boton" type="button" value="Ok" accesskey="O" onClick="openPopup(,'texto.','Do you want to continue?')"/> 

功能openPopup

function openPopup(button,textoAlert,subTextoAlert) { 
var html = ... 
    "<input class='botonPopup' type='button' value='Cancel' accesskey='C' onclick=\"window.close('popup');\"/>" + 
    "<input class='botonPopup' type='button' value='Ok' accesskey='O' onclick=\"window.close('popup'); return true;\"/>" 
    popup = window.open('','', 'titlebar=no,toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no, top=300, left=300, width=484, height=231'); 
    popup.document.write(html); 
     ... 

所以,按鈕被點擊OK的時候,我需要用這個 「真」

我怎樣才能做到這一點?

+0

你可以用我的[sysend.js庫(https://github.com/jcubic/ sysend.js)將彈出消息發送到其他頁面。 – jcubic

回答

1

您可以使用parent屬性訪問父窗口(包括DOM樹和全局可訪問的變量)。

例如,parent.document.getElementById('...').dostuffparent.callback(true)

你想補充一點的onclick處理程序,在彈出的窗口中的input元素。

例子:

家長

<script> 
    function callback(choice) { 
    alert(choice ? "User hit ok!" : "User hit cancel"); 
    } 
</script> 
<input class="boton" type="button" value="Ok" accesskey="O" onClick="openPopup(,'texto.','Do you want to continue?')"/> 

彈出

function openPopup(button,textoAlert,subTextoAlert) { 
var html = ... 
    "<input class='botonPopup' type='button' value='Cancel' accesskey='C' onclick=\"parent.callback(false); window.close('popup');\"/>" + 
    "<input class='botonPopup' type='button' value='Ok' accesskey='O' onclick=\"parent.callback(true); window.close('popup');\"/>" 
    popup = window.open('','', 'titlebar=no,toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no, top=300, left=300, width=484, height=231'); 
    popup.document.write(html); 
     ...