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

标签 javascript html

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

父窗口

<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。对于菜鸟来说,最简单的方法可能是使用 jquery ui 模态功能。

祝你好运!!

关于从子窗口到父窗口的 Javascript 弹出选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12229858/

相关文章:

javascript - 使用 Modernizr 检测 html5 音频支持

javascript - 如何从 Electron 的主进程访问全局 BrowserWindow JavaScript?

javascript - 如何使用css格式的Iconsax图标

html - URL 的字符数限制是多少

html - icon-bar 类不显示 Button 中的行

JavaScript/JQuery GetDay()

javascript - 将 HTTP 链接添加到 SSL HTTPS 页面而不会导致混合内容 "Not Secure"错误

javascript - Sencha Touch 中文本字段的自动完成?

html - 试图在屏幕尺寸上隐藏 div 类

HTML 布局问题