0

我正在开发一个模块,在该模块中我选择了一个公司名称,并使用colorbox iframe. 当我输入密码并提交表单时,我得到json了回复。现在我想关闭弹出窗口并将页面重定向到另一个页面。我的代码是

    $(document).ready(function(){
        var validator = $("#passwordverify").validate({ 
            rules: {  
                password: { 
                    required: true, 
                    minlength: 5 
                } 
            }, 
            messages: {  
                password: { 
                    required: "Provide a password", 
                    rangelength: jQuery.format("Enter at least {0} characters") 
                }
            },
            submitHandler: function() { 
                $.ajax({
                    url:"varifypassword.action",
                    type:"post",
                    dataType:"json",
                    data:{partyid:$("#partyid").val(), password:$("#password").val()},
                    success:function(response){
                        if(response.response == true)
                            {
                                  parent.$.fn.colorbox.close();
                                  window.location.replace("main.jsp");
                            }
                        else
                            {
                                $("#error").html("Incorrect Password");
                            }
                        }
                    }); 
            }
        });  

它工作正常,但window.location.replace适用于相同的 iframe。它main.jsp在同一个弹出窗口中打开。如何在父页面的位置加载它。

4

2 回答 2

1

Did you try to use one of these approaches already?

parent.$.fn.colorbox.close();
window.opener.location.href = mySite;

or

parent.$.fn.colorbox.close();
window.parent.location.href = mySite;
于 2012-10-10T08:51:07.270 回答
1

您可以将 javascript 方法添加到父窗口

在 iFrame 之外添加以下方法

    function ChangeUrlFromParent(url)
    {
    document.location=url;
    }

并从 iFrame 调用该方法

   $(document).ready(function(){
    var validator = $("#passwordverify").validate({ 
        rules: {  
            password: { 
                required: true, 
                minlength: 5 
            } 
        }, 
        messages: {  
            password: { 
                required: "Provide a password", 
                rangelength: jQuery.format("Enter at least {0} characters") 
            }
        },
        submitHandler: function() { 
            $.ajax({
                url:"varifypassword.action",
                type:"post",
                dataType:"json",
                data:{partyid:$("#partyid").val(), password:$("#password").val()},
                success:function(response){
                    if(response.response == true)
                        {
                              parent.$.fn.colorbox.close();
                              ChangeUrlFromParent("main.jsp");
                        }
                    else
                        {
                            $("#error").html("Incorrect Password");
                        }
                    }
                }); 
        }
    });  

希望这可以帮助 :)

于 2012-10-10T08:53:39.423 回答