在粉丝上我做http://yamikowebs.com/ee/
我有几种形式(2个大气压)。我使用$ .post来查找提交的表单。提交表单并在表单最初使用.html()。
我的下一步是使用工作正常的验证器,但我不确定如何将2放在一起。
submitHandler: function(form){}
似乎是其提交方式的设定。但是,我无法使用$.post
函数来处理这个问题,或者找出正在处理的表单。
如果我保留验证插件的默认值,如果没有错误,它会将您发送到该页面。它使用的ajax插件不能满足我的需求。以下是我的$.post
功能
表单验证:
//ajax post
$("form").submit(function(event)
{
event.preventDefault();//stop from submiting
//set needed variables
var $form = $(this)
var $div = $form.parent("div")
$url = $form.attr("action");
//submit via post and put results in div
$.post( $url, $form.serialize() , function(data)
{ $div.html(data) })
})
答案 0 :(得分:2)
你认为submitHandler
是正确使用的回调是正确的。但是,我在使用多种形式时遇到了一些有趣的问题(比如你正在尝试做)。例如,在此代码中:
$("#form1, #form2").validate({
submitHandler: function(form) {
alert(form.action);
alert(form.id);
}
});
submitHandler
回调未获得正确的参数(它始终为#form1
)。我相信这实际上是jQuery-validate中的一个错误(所以我已经提交了here)。
无论如何,一个不错的解决方法是在.each()
中包装验证调用:
$("form").each(function() {
$(this).validate({
submitHandler: function(form) {
/* 'form' has the correct value */
var values = $(form).serialize(),
$div = $(form).parent("div");
alert(form.action);
alert(form.id);
/* Perform AJAX call here */
}
});
});