从子窗口到父窗口的Javascript弹出选择器

Javascript popup selector from Child to Parent Window

本文关键字:窗口 Javascript 选择器      更新时间:2023-09-26

嗨,我这里有个问题。每当我试图通过单击子窗口中的按钮来更改文本字段值时。。。它不起作用。

父窗口

<html> 
<script language="javascript"> 
function openWindow() { 
  window.open("target.html","_blank","height=200,width=400, status=yes,toolbar=no,menubar=no,location=no") 
} 
</script> 
<body> 
<form name=frm> 
<input id=text1 type=text> 
<input type=button onclick="javascript:openWindow()" value="Open window.."> 
</form> 
</body> 
</html>

作为target.html 的子窗口

<html> 
<script language="javascript"> 
function changeParent() { 
  window.opener.document.getElementById('text1').value="Value changed.." 
} 
</script> 
<body> 
<form> 
<input type=button onclick="javascript:changeParent()" value="Change opener's textbox's value.."> 
</form> 
</body> 
</html>

我真正想发生的是当我从孩子窗口点击按钮时。。。子窗口将被关闭,然后父窗口中的文本字段将被更改为"更改打开器的文本框的值..",这是我从子窗口中选择的值。。

Javascript基本上仅限于窗口。你不能只是将值发送到另一个窗口(这很酷)。

父窗口和子窗口之间有多种通信方式,但也存在一些跨浏览器问题:http://www.codehappiness.com/post/access-parent-window-from-child-window-or-access-child-window-from-parent-window-using-javascript.aspx

最简单的解决方案不是打开一个新窗口,而是在同一窗口中打开一个模态框。这只不过是一个div,其样式显示为弹出框。noob实现这一点的最简单方法可能是使用jquery ui模态特性。

祝你好运!!