У меня есть форма, отображающая сообщение об ошибке на метке HTML, когда пользователи не вводят действительные данные в поля формы. Метка отображается под полем формы onBlur и остается там до тех пор, пока данные не будут введены в поле формы. Я бы хотел, чтобы метка отображалась только тогда, когда пользователи нажимают обратно в поле формы, а не настойчиво. Ниже приведен сценарий, в котором я пытаюсь скрыть метку ошибки как пользовательские вкладки из поля формы. Я решил, что буду беспокоиться о том, чтобы снова появиться, как только я смогу скрыть это.jQuery if hasClass hide element on blur
Вот HTML:
<div class="field">
<input type="text" name="firstname" id="firstname" class="error has-error">
<label for="firstname" class="error">First Name is required.</label>
</div>
И сценарий
<script type="text/javascript">
if($('.fieldset #firstname').hasClass('error')) {
$(this).blur($('.field label')).hide();
}
</script>
Не связывайте обработчики в операциях 'if'. Поместите свой оператор 'if' внутри обработчика. –
На основе вашего кода '$ (this)' будет ссылаться на окно? – Dom
Вы привязываете обработчик к каждому элементу 'input' отдельно? Или у вас есть только один элемент? И вы хотите скрыть руководство для «ввода», если оно было заполнено неправильно? Это не имеет большого смысла (я мог представить, что скрываю «метку», если «input» правильно заполнен *). –