弹出窗口返回值

时间:2011-02-01 19:52:32

标签: javascript

我希望有人可以帮助我解决这个问题。

我要做的是将弹出窗口中的值返回到使用javascript启动它的父窗口。

我试过的是打电话(在各种网站上阅读)

window.opener.document.forms[0].textField.value = 'value'

但是虽然这不会产生任何错误,但它不会改变字段值。

我已经尝试在网上搜索这个解决方案,但有很多网站与谷歌上的“弹出返回值”相关,结果可追溯到2000年,许多人似乎互相冲突,所以我有点困惑。

理想情况下,我希望做的是让弹出窗口等待做出决定(是或否),并从父窗口返回到调用函数的true或false值。作为这个的原因,是我有一个表单使用onsubmit来调用javascript函数来确认天气继续没有。我正在使用一个对话框来返回一个真正的假值,但现在尝试用弹出窗口进行操作,这样我就可以包含图像和各种其他信息。

希望我已经解释得很好,有人可以帮我解决问题。

感谢您的时间。

4 个答案:

答案 0 :(得分:4)

您可以从弹出窗口中引用打开弹出窗口的窗口...在此示例中,弹出窗口中的某些内容调用此函数(存在于弹出窗口中)传入“val”...

 <script language="javascript">
    function GetRowValue(val)
    {
        // hardcoded value used to minimize the code.
        // ControlID can instead be passed as query string to the popup window
        window.opener.document.getElementById("ctl00_ContentPlaceHolder1_TextBox2").value = val;
        window.close();

    }

    </script>

答案 1 :(得分:2)

以下是Django管理员方法的解剖:Howto: javascript popup form returning value for select like Django admin for foreign keys。毫无疑问,它会变得更复杂,但最终这种技术可以帮助你。

答案 2 :(得分:1)

在父页面中使用它

var answer = window.open(<your page and other arguments>)
if (answer == 1)
      do some thing

在子页面

window.returnValue = 1;

答案 3 :(得分:0)

尝试以下方法:

window.opener.document.getElementById("sizeId" + rn).value

大小以上的id将匹配您想要返回值的输入类型的父窗口id。