弹出窗口将参数返回给父级

popup return parameters to parent

本文关键字:返回 参数 窗口      更新时间:2023-09-26

我的网站在单击按钮时会打开一个弹出窗口,现在,用户可以单击"确定"或"取消"。如果"确定",则必须发送父级中的表单。

父母:

<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='"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);
      ...

所以,当点击按钮确定时,我需要使用这个"true"

我该怎么做?

您可以使用

parent 属性访问父窗口(包括 DOM 树和全局可访问的变量)。

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

您可以在弹出窗口中将其添加到input元素的onclick处理程序中。

例:

父母

<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);
      ...