我有一个表单,其中应用了JQuery验证器。我不会发布所有内容,但代码如下所示
var validator = $("#my_form").validate({
errorPlacement: function(error, element) {
$( element )
.closest( "form" )
.find( "#error" )
.append( error );
},
rules: {
emailAddress: {
require_from_group: [1, '.datagroup'],
email: true,
maxlength: 40
},
mobileNumber: {
require_from_group: [1, '.datagroup'],
number:true,
minlength: 8
}
},
messages: {
emailAddress: {
maxlength: jQuery.validator.format("shorter")
},
mobileNumber: {
number: jQuery.validator.format("Please enter a number"),
minlength: jQuery.validator.format("Please enter a valid number")
}
},
groups: {
datagroup: "emailAddress mobileNumber"
},
submitHandler: function (form) {
$.ajax({
type: "POST",
url: "php/main.php",
data: $(form).serialize()
})
.done(function (response) {
$('#results').html(response)
});
return false;
}
});
问题是提交处理程序是整个表单传递的,然后将这些数据序列化并发送到main.php。但是,我不再需要它提交mobileNumber的格式。原因是我现在正在使用一个插件来为我格式化这个数字,并获得这个值,我需要做
var mobileNumber = $("#mobileNumber").intlTelInput("getNumber");
我也可以使用val()抓取电子邮件,这样也可以将其分配给变量。那么如何将main.php传递给变量mobileNumber和emailAddress?
由于
答案 0 :(得分:1)
您可以通过手动构建如下所示的数据对象来实现。
$.ajax({
type: "POST",
url: "php/main.php",
data: {
'emailAddress': $("#mobileNumber").intlTelInput("getNumber"),
'mobileNumber': $("selector").val()
}
})