使用 Javascript 关闭窗口时创建事件
Creating an event when closing a window using Javascript
我正在创建一个弹出窗口,允许我从中选择值,然后在选择值后,我需要关闭窗口,然后将其传递给我的主窗体。
我的主窗体中的代码:
onClick="cust=window.open('popup.php?count=<?=$RowStart?>&name_id=' + document.form1.name_id<?=$RowStart?>.value'custWindow','top=50, left=50, height=150, width=375, scrollbars=yes, resizable=yes');cust.focus(););
以及弹出窗口中的代码:
<form name="form1" action="<?=$_SERVER['PHP_SELF']?>" method="post">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<input id="name" name="name" type="text"/>
<input id="nameid" name="nameid" type="hidden" value ="<?=$name_id?>"/>
</td>
<td>
<input name="ellipse" type="button" value="..." onClick="ellipse=window.open('engine_item_list2.php?name='+document.form1.name.value,'ellipse','top=50,left=50,width=500,height=500, scrollbars=yes, resizable=yes'); ellipse.focus();"/>
</td>
</tr>
</table>
</form>
发生的情况是,当我单击主窗体中的按钮时,它会打开一个新窗口,其中弹出窗口有一个表单。窗体内部是一个椭圆,它使用名称文本字段的输入获取name_id的值。
我能够将值从椭圆获取到name_id,因为椭圆内部有一个提交按钮。但是我的弹出窗口 form1 不应该涉及保存按钮,所以我必须在关闭弹出窗口时使用其他方式提交值,将值从弹出窗口传递回主窗体。
我想我应该使用 window.close((,但我不知道如何使用它传回数据。有没有办法链接窗口中的关闭按钮,以便在单击它时将值传递回主窗体?
弹出窗口中单击"完成"按钮或类似内容时,您应该能够使用弹出窗口中的window.opener
找到打开它的窗口,然后将数据放入该窗口的 DOM 或 javascript 变量中。 将弹出窗口中的数据放入原始窗口后,您可以使用window.close()
关闭弹出窗口。
请注意,如今更常见的是在同一窗口中为表单使用临时覆盖而不是弹出新窗口,并且还可以避免与弹出窗口阻止程序发生任何冲突,这些冲突可能会妨碍弹出新窗口。
这不会处理窗口中的关闭角。 这通常等效于"取消"操作,因此单击它时无需执行任何操作(根据正常的 UI 约定(。 典型的 UI 将涉及"完成"、"完成"或"确定"按钮,当用户希望接受输入的数据时,将单击该按钮。 您将在此按钮的单击处理程序中使用它window.opener
查找父/主窗口,将弹出表单中的数据放入该窗口中,然后调用window.close()
关闭弹出窗口。
Javascript
window.onbeforeunload=function(){
alert('This is the popup!');
}
或
function window.onbeforeunload(){
alert('This is the popup!');
}
- 如何在jQuery Mobile 1.4 Datepicker中创建事件
- 如何在浏览器页面切换到我的网站选项卡时创建事件,如gmail中的聊天框状态更改
- 正在创建事件侦听器以从本地存储中删除对象
- 如何为范围滑块创建事件处理程序
- 在完整日历的Dayclick事件上触发jQuery qTip,然后使用其中的按钮创建事件
- 为什么我的 UI/可拖动“创建”事件被传递一个空的“ui”对象
- 在嵌套循环中创建事件处理程序的效率:我在这里创建了 1440 个函数
- JavaScript - 动态创建事件侦听器
- 使用 Javascript 关闭窗口时创建事件
- Outlook.com 应用程序 - 如何在预填充 HTML 正文的情况下创建事件
- 如何在 GAS 中转换和传递日期以在 Google 日历中创建事件
- 在某些数据之后创建事件对象
- 如何在javascript中动态创建事件和事件处理程序
- Office 365日历API基于创建事件触发对应用程序的调用
- 使用谷歌关闭创建事件
- 如何挂钩到express会话创建事件
- 删除并重新创建事件的元素:
- 如何在单独的页面上创建事件
- 为用户在Firefox或Chrome中右键单击并检查元素创建事件处理程序
- 如何在点击上一页/下一页时创建事件?FullCalendar