JQuery отправка дважды
У меня есть форма, которая использует класс formvalidation.io. У меня есть оператор if, который говорит, является ли поле действительным, используйте сообщение jQuery для отправки данных и добавления данных в таблицу. По какой-то причине он подает дважды. Если я удаляю $.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);
},
2 ответа
http://formvalidation.io/examples/form-submit-twice/
Это помогло мне. Мне пришлось поместить код на уровне формы вместо уровня поля при проверке формы.
В вашем коде нет ничего плохого, возможно, где-то в вашем проекте вы вызываете эту функцию дважды.