jQuery Post 提交两次
jQuery Post Submitting Twice
我有一个使用 formvalidation.io class 的表格。我有一个 if 语句,说明该字段是否有效使用 jQuery post 提交数据并将数据添加到 table 前面。由于某种原因,它提交了两次。如果我删除 $.post 并在 if 语句下添加数据,则添加只会执行一次。我在函数的开头有 e.preventDefault() 。这似乎是其他论坛上唯一的解决方案。感谢任何帮助:
barcode: {
onSuccess: function(e, data) {
e.preventDefault();
setTimeout(function() {
if (!$('#move_bin').data('formValidation').isValidField('bin')) {
$("#barcode").val("");
$('#move_bin').data('formValidation').updateStatus('barcode', 'NOT_VALIDATED');
$('#move_bin').data('formValidation').updateStatus('bin', 'INVALID');
} else {
setTimeout(function() {
if ($('#move_bin').data('formValidation').isValidField('barcode')) {
$.post( "/?a=scantobin", { bin: $("#bin").val(), barcode: $("#barcode").val() }, function( data ) {
if(data.valid == true){
$("#bin_info tbody").prepend("<tr><td>" + $("#bin").val() + "</td><td>" + $("#barcode").val() + "</td></tr>");
$('#move_bin').data('formValidation').resetField('barcode', true);
$("#barcode").focus();
} else {
alert("Internal Error");
}
}, "json");
}
}, 750);
}
}, 500);
},
您的代码没有任何问题,可能是您在项目中的某处调用了该函数两次。
http://formvalidation.io/examples/form-submit-twice/
这对我很有帮助。我必须将代码放在表单级别而不是表单验证的字段级别。
我有一个使用 formvalidation.io class 的表格。我有一个 if 语句,说明该字段是否有效使用 jQuery post 提交数据并将数据添加到 table 前面。由于某种原因,它提交了两次。如果我删除 $.post 并在 if 语句下添加数据,则添加只会执行一次。我在函数的开头有 e.preventDefault() 。这似乎是其他论坛上唯一的解决方案。感谢任何帮助:
barcode: {
onSuccess: function(e, data) {
e.preventDefault();
setTimeout(function() {
if (!$('#move_bin').data('formValidation').isValidField('bin')) {
$("#barcode").val("");
$('#move_bin').data('formValidation').updateStatus('barcode', 'NOT_VALIDATED');
$('#move_bin').data('formValidation').updateStatus('bin', 'INVALID');
} else {
setTimeout(function() {
if ($('#move_bin').data('formValidation').isValidField('barcode')) {
$.post( "/?a=scantobin", { bin: $("#bin").val(), barcode: $("#barcode").val() }, function( data ) {
if(data.valid == true){
$("#bin_info tbody").prepend("<tr><td>" + $("#bin").val() + "</td><td>" + $("#barcode").val() + "</td></tr>");
$('#move_bin').data('formValidation').resetField('barcode', true);
$("#barcode").focus();
} else {
alert("Internal Error");
}
}, "json");
}
}, 750);
}
}, 500);
},
您的代码没有任何问题,可能是您在项目中的某处调用了该函数两次。
http://formvalidation.io/examples/form-submit-twice/
这对我很有帮助。我必须将代码放在表单级别而不是表单验证的字段级别。