这是对以下内容的后续行动:
jQuery change content of colorbox
现在,初始颜色框(test_2.html)的内容是一种简单的形式:
例如
<form id="foo" action="test_3.html">
<imput type="submit" id="formInput" value="send form">
</form>
应该发送表格,并将test_3.html的内容加载到同一颜色框中。
最佳答案
如果将其添加到主页的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
中设置的页面打开颜色框。顺便说一句,您可能会想要对此进行调整,但是它使您对如何完成此操作有所了解。