Я делаю форму для заказа элементов, хранящихся в базе данных. Каждый элемент имеет поле ввода для количества элементов, которые должны быть заказаны. Код для каждого элемента выглядит следующим образом.Как отключить кнопку отправки на основе проверки полей полей ввода
<div class="col-md-5">
<label for="item13">409 Carpet Cleaner</label>
</div>
<div class="col-md-2" div="">
<div class="has-success has-feedback">
<input type="hidden" name="itemID[]" value="13">
<input type="hidden" name="metaID[]" value="73">
<input type="number" class="form-control" id="item13" name="quantity[]" min="0" max="10" value="0">
<span class="glyphicon glyphicon-ok form-control-feedback" aria-hidden="true"></span>
<span id="inputSuccess2Status" class="sr-only">(success)</span>
</div>
</div>
<div class="col-md-5">
<span class="text-success"> X 1 case (12 aerosol cans)</span>
</div>
Это HTML просто добавляются и повторяются на страницу динамически из моей базы данных на PHP в зависимости от того, сколько элементов есть. (Прямо сейчас они 113 пунктов в моей форме, так почему я использую массивы в имени атрибута)
Моя кнопка отправки, как это:
<button type="button" class="btn btn-lg btn-success pull-right" id="submitOrder">Submit Order For Entire Store Location</button>
И мой сценарий проверки выглядит следующим образом:
$("input[name='quantity[]']").on("keyup", function() {
var value = $(this).val();
var maxValue = $(this).attr('max');
var minValue = $(this).attr('min');
var itemID = $(this).attr('id');
maxValue = parseInt(maxValue);
minValue = parseInt(minValue);
value = parseInt(value);
//console.log("we was called " + minValue + " " + value + " " + maxValue + " " + itemID);
if(value > maxValue || value < minValue){
//console.log("wrong number");
$("#submitOrder").attr("disabled", "disabled");
$('#' + itemID).css("background-color","#f36e65");
}else{
$("#submitOrder").removeAttr("disabled");
$('#' + itemID).css("background-color","#43C56D");
}
});
Так что я хочу, чтобы в случае, если какое-либо поле ввода не соответствует валидации, чтобы кнопка отправки была отключена. Прямо сейчас он отключает его, если вход сбой, но если после этого вводится другое подобное поле ввода и выполняется проверка, то кнопка отправки включена, хотя предыдущий вход не удался.
Как я могу отслеживать ошибки и отключать кнопку, если они есть, и включить их после их исправления.?
Хорошо, позвольте мне попробовать это очень быстро. –
Ваш ответ сработал чудесно! –
@AbrahamA. - Почувствуйте себя хорошо, чтобы помочь вам – nikhil