【发布时间】:2017-04-21 08:34:39
【问题描述】:
我有一个 ajax 帖子可以很好地提交,但我需要在提交之前将它与 jQuery Validate 结合起来,但我无法让它工作。
我尝试在提交处理程序中提交 ajax,但这会导致表单中的某些字段消失,或者在某些情况下不更新我的数据库。
单独使用它就可以了:
$('#myform').submit(function(e){
e.preventDefault();
var url = 'http://example.com';
var data = $('#myform').serializeArray();
$.ajax({
type: "POST",
url: url,
data: data,
success: function(){
$('.pop_up').fadeOut();
}
});
});
但以下代码不能 100% 工作(只是有时和某些部分)。有时它发布的电子邮件字段为空,有时其他字段很古怪。
var url = 'http://example.com';
var data = $('#myform').serializeArray();
$('#myform').validate({
rules: {
emailaddress: {
required: true,
email: true
},
meeting: {
required: {
depends: function () {
return $('input[name=in_12_months]').is(':checked')==false && $('input[name=in_6_months]').is(':checked')==false
}
}
}
},
submitHandler: function(form) {
$.ajax({
type: "POST",
url: url,
data: data,
success: function(){
$('.pop_up').fadeOut();
}
});
}
});
与 Submithandler 分离的验证有效,因此除非必填字段正常,否则不会发布。
那么,我如何将这些数据与 100% 可靠且发布良好的数据结合起来呢?
我的网页中有多个表单,我是否应该填写具体的表单而不是submitHandler: function(form)?
【问题讨论】:
-
“我尝试在提交处理程序中提交 ajax,但这会导致表单中的某些字段消失,或者在某些情况下不更新我的数据库。” ~这毫无意义......
submitHandler是正确执行此操作的唯一方法,数百万人使用此插件没有此类问题。向我们展示一个更完整的演示,包括相关的 HTML。 -
“但是下面的代码不能 100% 工作(只是有时和某些部分)。有时它发布时电子邮件字段为空,有时其他字段很古怪。” 〜请解决您的问题,以便用足够的细节更好地解释一切。没有人知道“其他领域很古怪”是什么意思。
标签: jquery ajax forms jquery-validate