Вы можете использовать функцию jQuery .change()
.
После начальной загрузки страницы вы можете проверить всю форму, просто чтобы убедиться, что она на самом деле не заполнена.После этого вы можете использовать .change()
, чтобы проверить, изменились ли вещи в форме, и, если что-то изменилось, проверить форму еще раз.
$(document).ready(function() {
// validate form once, just to be sure (if valid, activate submit button)
});
...
<form>
<input class="target" type="text" value="Field 1" />
<select class="target">
<option value="option1" selected="selected">Option 1</option>
<option value="option2">Option 2</option>
</select>
</form>
<script type="text/javascript">
$('.target').change(function() {
alert('Something changed');
// Try validating form again (if valid, activate submit button)
});
</script>
План B
Другой вариант - всегда нажимать кнопку отправки, но используйте .submit()
, чтобы связать ее с валидатором формы.Тогда, если форма действительна, продолжайте.Если форма НЕДОПУСТИМА, используйте .preventDefault()
, чтобы остановить отправку формы ..... и вы также отобразите предупреждающее сообщение с указанием пропущенных полей.