嗨,我这里有问题。每当我尝试通过单击子窗口中的按钮来更改文本字段值时......它无效。
父窗口
<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>
我真正想要发生的是当我从子窗口中单击按钮时...子窗口将被关闭,然后父窗口中的文本字段将更改为“更改开启者的文本框的值...”,这是我从子窗口中选择的值..
答案 0 :(得分:1)
Javascript基本上只限于窗口。你不能只将值发送到另一个窗口(这很酷)。
父窗口和子窗口可以通过各种方式进行通信,但是存在一些跨浏览器问题: http://www.codehappiness.com/post/access-parent-window-from-child-window-or-access-child-window-from-parent-window-using-javascript.aspx
最简单的解决方案不是打开一个新窗口,而是在同一个窗口中打开一个模态框。这只不过是一个被设计为popupbox的div。使用jquery ui模态功能的最简单的方法是使用jquery ui模态功能。
祝你好运!!