我正在尝试打开一个新的弹出窗口,将值插入数据库,然后将一个值返回到当前窗口。当我打开一个新的弹出窗口并单击“返回”后,它会返回该值,但是当我单击“提交”并随后返回它时,该值不会返回。我认为这是因为新窗口是通过提交按钮刷新的。这就是它不返回值的原因。
主页
<form></form>
<form>
<input name="maparea" size="2" type="TEXT">
<input onclick='targetitem = document.forms[1].maparea; dataitem = window.open("popup.php", "dataitem", "toolbar=no,menubar=no,scrollbars=yes"); dataitem.targetitem = targetitem' value="Get Value" type="button">
</form>
弹出窗口
<script>
function select_item(item){
targetitem.value = item;
top.close();
return false;
}
</script>
<form action="" method="post">
<input type="submit" name="sub" value="Submit" />
<input type="button" name="re" value="Return" onclick='return select_item("3")' />
</form>
有什么解决办法吗? 我想先提交我想要的内容,然后返回值
最佳答案
在弹出窗口中,在提交按钮上挂接一个 onclick 事件,以便它在提交之前执行。 然后在 onclick 处理程序中执行以下操作:
window.opener['dataitem'] = <your return value>;
然后提交后,您的父窗口将具有该值,您可以像这样访问它:
var somevariable = window['dataitem'];
关于javascript - 打开新的弹出窗口并返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13301908/