这有效:
$('#contestform').on('submit', function(e) {
$.post( '/', $(this).serialize(), function(response){
console.log(response);
},'json' );
e.preventDefault();
});
这有效
jQuery("#contestform").validate();
但我不知道如何让他们一起工作。我希望只有在单击提交并且表单有效时才会发生来自顶部代码的内容。我已经尝试过来自http://docs.jquery.com/Plugins/Validation/validate#toptions的东西,但我想我不明白。我让它有点工作,但你必须点击两次提交。
有一件事是,如果我能提供帮助,我想将 post() 内容保存在一个单独的函数中,因为这两个部分将来自 php.ini 的不同部分。
编辑1 试过这个,不工作(在表格下)(不工作,我的意思是它正在正常提交,而不是ajax)
function postForm(e) {
jQuery.post( '/', $(this).serialize(), function(response){
console.log(response);
},'json' );
e.preventDefault();
}
jQuery("#contestform").validate({submitHandler: postForm});
edit2 好吧,我得到了它与 jQuery.Form 插件 http://www.malsup.com/jquery/form/#ajaxSubmit 仍然,我想知道我在上面的代码中做错了什么。
function showResponse(responseText, statusText, xhr, $form){
console.log(responseText);
}
var soptions = {
success: showResponse ,
dataType: 'json'
};
jQuery("#contestform").validate({
submitHandler: function(form) {
jQuery(form).ajaxSubmit(soptions);
return false; // always return false to prevent standard browser submit and page navigation
}
});