0

会社名を選択し、を使用してパスワードのフォームをポップアップする1つのモジュールに取り組んでいます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

これらのアプローチの1つをすでに使用しようとしましたか?

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

また

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 に答える