提交表格后如何打开彩盒?

时间:2012-07-16 00:44:22

标签: jquery forms submit colorbox

这是我的表格:

<form name="Aform" method="post" action="test.php" id="Aform">

这是我的剧本:

var validator = $("#Aform").validate({
...
// form.submit();  <-- it works    
form.submit(function() {
$.post($(this).attr("action"), $(this).serialize(), function(data) {
    $.colorbox({html:data});
},
'html');
return false;
});  
// <-- it does not work

1 个答案:

答案 0 :(得分:1)

您是否看过JS控制台,看看是否产生了任何错误?您是否已验证POST请求是否成功并返回数据?

在我看来,只有在提交事件发生后才会运行此代码(假设代码未显示)。然后你定义了另一个事件处理程序,但之后该处理程序永远不会被触发,因为提交事件不会再次发生。

调用form.submit()会触发提交事件,调用form.submit(function(){})会定义事件处理程序,但不会触发提交事件。

您可以在定义事件处理程序后调用form.submit(),但定义事件处理程序并立即调用它只是跳过一个不必要的环节。你可以这样做:

var validator = $("#Aform").validate({
...
$.post($(this).attr("action"), $(this).serialize(), function(data) {
    $.colorbox({html:data});
},
'html');