Вот моя проблема:
Я использую parsley.js для проверки моей формы, и она работает нормально, но у меня есть проблема. Если я прикрепил событие (keyup или blur) к своей форме, чтобы изменить свойство кнопки и заставить его работать только после заполнения всей формы, функция parsley.isValid () не сможет запустить мой скрипт. Если честно, это работает, но только если я дважды меняю свое поле ввода.
Вот мой сценарий:
$(document).ready(function() {
$('input').on('blur keyup', function() {
if ($('form').parsley().isValid()) {
$('#submit').prop('disabled', false);
} else {
$('#submit').prop('disabled', 'disabled');
}
});
(document).on('submit', 'form', function(event) {..}
});
По сути, если я заполняю всю свою форму, в первый раз ничего не произойдет, но во второй раз, когда я изменю один из первых двух входных данныхзначение, по какой-то причине код будет работать:
<form action="/send.php" id="formid" method="post" data-parsley-validate="">
<input class="form-control" id="antbits-bmi-cm" aria-describedby="antbits-bmi-form_height-error" alt="height, centimeters" inputmode="numeric" type="text" step="0.1" min="0" maxlength="5" name="centimeter" placeholder="cm" required="">
<input class="form-control" id="antbits-bmi-kg" placeholder="Kg" alt="kg" type="text" inputmode="numeric" min="0" maxlength="3" required="" name="kilogram" required="">
<select class="form-control" id="age" name="age" required="">
<option value="1"></option>
</select>
<input type="submit" value="Calculate" id="submit">
</form>
По какой-то причине, если ($ ('form'). parsley (). isValid ()) {} запускается только когда я возвращаюсь кпервый ввод, и я изменяю значение, после того, как впервые ввел что-то.
Кто-нибудь знает почему?