这是一个跟进: jQuery change content of colorbox
现在初始colorbox(test_2.html)的内容是一个简单的形式: 例如,
<form id="foo" action="test_3.html">
<imput type="submit" id="formInput" value="send form">
</form>
应该发送表单,test_3.html的内容应该加载到同一个颜色框中。
答案 0 :(得分:4)
如果将其添加到主页的docReady中,它应该处理所有事情:
$('form').live('submit', function(e){
var successHref = this.action,
errorHref = "formError.php";
e.preventDefault();
$('#cboxLoadingGraphic').fadeIn();
$.ajax({
type: "POST",
url: "processForm.php",
data: {someData: $("#someData").val()},
success: function(response) {
if(response=="ok") {
console.log("response: "+response);
$.colorbox({
open:true,
href: successHref
});
} else {
$.colorbox({
open:true,
href: errorHref
});
}
},
dataType: "html"
});
return false;
});
但是,这段代码做了一些假设。其中之一就是将数据发送到“processForm.php”(如您所见),并且当一切正常时,期望答案为“ok”(纯文本,无json)。如果您不关心响应或处理错误,那么您可以删除if-else
块并使用您在action
中设置的页面打开颜色框。不管怎样,你可能想要调整一下,但它可以让你知道如何做到这一点。