У меня есть форма на моем веб-сайте, которая проверяется плагином jquery validate.Все с проверкой этой формы работает нормально, кроме случаев, когда я пытаюсь заполнить эту форму после отправки, в списке автозаполнения, который я уже отправил, нет опции.Мой код выглядит так:
<form class="order-form" id="customer-info">
<input required type="text" name="customer_name" autocomplete="on">
<input type="tel" name="customer_phone" autocomplete="on">
<input type="text" name="customer_address" autocomplete="on">
<input required type="email" name="customer_email" autocomplete="on">
</form>
JS:
coast.find("#customer-info").validate({
rules: {
customer_name: {
required: true,
lettersonly: true
},
customer_phone: {
required: true,
specialChars: true
},
customer_address: {
required: function (element) {
return !coast.find("[id^='radio-1']").is(':checked');
},
address: true
},
customer_email: {
required: true,
email: true
}
},
errorPlacement: function (error, element) {
element.addClass("form-error");
},
submitHandler: function (form) {
orderForm = $(form).serialize();
// sending data width ajax
return false;
},
onfocusout: false,
invalidHandler: function (form, validator) {
var errors = validator.numberOfInvalids();
if (errors) {
validator.errorList[0].element.focus();
}
}
});
Сначала я подумал, что проблема в пропущенном form.submit()
в submitHandler
.Но потом я нашел эту ссылку: http://jsfiddle.net/0g0oaonL/2/. Нет form.submit()
и автозаполнение работает отлично.Кнопка отправки вышла из form
, может быть, это вызывает проблему?
Редактировать
Код для отправки:
$("button").on("click", function () {
if (coast.find('#customer-info').valid() && someOtherConditions == true) {
$(this).find('span, img').toggle();
$('#customer-info').submit();
$.ajax({
// just sending some data
});
}
});