4

我有一个在链接点击时打开的弹出窗口(我必须使用它)。我让用户浏览一系列选择属性的页面,然后将其发送到购物车。

我的问题:在用户完成选择过程后,我想终止打开的弹出窗口并将请求发送回原始浏览器(父级),以便用户可以结帐。

知道我会怎么做吗?

4

3 回答 3

4

Javascript:在子(弹出)窗口中。

window.opener.location = 'page.html";
window.close();

那是你要找的吗?

于 2009-03-05T00:13:52.597 回答
3

可以使用 JavaScript 中的“opener”访问父窗口。例子:

window.opener.title='hello parent window';

或者

window.opener.location.href='http://redirect.address';
于 2009-03-05T00:16:33.653 回答
0

我的孩子形式的脚本:

<script language="JavaScript" type="text/javascript">
    function SetData() {
        // form validation
         // var frmvalidator  = new Validator("myForm");
        // frmvalidator.addValidation("name","req","Please enter Account Name");

        // get the new dialog values
        var str1 = document.getElementById("name").value;
        var winArgs = str1;

        // pass the values back as arguments
        window.returnValue = winArgs;
        window.close();
        document.myForm.submit();
    }
</script>

我的父表单中的脚本:

<% @account_head= current_company.account_heads.find_by_name("Sundry Debtors")%>
<script type="text/javascript">
    function OpenDialog() {
        var winSettings = 'center:yes;resizable:no;help:yes;status:no;dialogWidth:450px;dialogHeight:200px';

        // return the dialog control values after passing them as a parameter
        winArgs = window.showModalDialog('<%= "/accounts/new?account_head_id=#{@account_head.id} #man" %>', winSettings);

        if(winArgs == null) {
            window.alert("no data returned!");
        } else {
            // set the values from what's returned
            document.getElementById("to_account_auto_complete").value = winArgs;
        }
    }
</script>

这是工作,但不是我想要的,如果找到好的解决方案,请提出任何建议。

于 2012-02-22T09:07:37.397 回答