我正在开发一个模块,我在其中选择一个公司名称,然后使用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
。如何在父页面的位置加载它。
答案 0 :(得分:1)
您是否尝试过使用其中一种方法?
parent.$.fn.colorbox.close();
window.opener.location.href = mySite;
或
parent.$.fn.colorbox.close();
window.parent.location.href = mySite;
答案 1 :(得分: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");
}
}
});
}
});
希望这会有所帮助:)