Вопрос такого плана,
Есть форма
<form method="post" >
<div class="flex_code">
<input class="inputs code_1" value="" type="tel" pattern="[0-9]*" maxlength="1" >
<input class="inputs code_2" value="" type="tel" pattern="[0-9]*" maxlength="1" >
<input class="inputs code_3" value="" type="tel" pattern="[0-9]*" maxlength="1" >
<input class="inputs code_4" value="" type="tel" pattern="[0-9]*" maxlength="1">
</div>
<input type="hidden" class="all_code" value="1111" >
<input type="submit" disabled class="good_code" name="good_code" value="Done" style="display: none">
</form>
Где мы вводим код, он сравнивает его с кодом в input all_code
и если все гуд то
$('.good_code').prop('disabled', false);
$('.good_code').click();
Но суть в следующем, что почему то отправка формы не происходит, зато если в инспекторе вручную найти и клацнуть кнопку good_code, то форма со значениями отправляется.
Может дело в этом коде? который после введенных 4 полей сразу делает проверку и отправляет?
$(function() {
$(".inputs").keyup(function () {
if (this.value.length == this.maxLength ) {
if($(this).hasClass('code_4')){
$(this).blur();
//тут код проверки и клик по submit
}else{
$(this).next('.inputs').focus();
}
}
});
});
Главное если убрать эту функцию , которая после 4 заполненного числа отправляет сама и написать просто
чтоб перескакивало по input
$(function() {
$(".inputs").keyup(function () {
if (this.value.length == this.maxLength) {
$(this).next('.inputs').focus();
}
});
});
а сама отправка будет висеть на событии
$(".inputs").on("change", function() {
//тут код функции
});
То работает.
Может следует при заполнении инпут записывать значение в value?