Поскольку эти классы всегда добавляются при отправке формы, удалите класс перед проверкой:
$('#myForm').submit(function(){
$('.invalid', this).removeClass('invalid'); // Remove all invalid classes
$(this).removeClass('invalid'); // If the parent = form.
// Normal validation procedure.
});
Ожидаемый результат:
- Пользователь инициирует
submit
onsubmit
запускается> Все invalid
имена классов в форме удаляются. - События
invalid
запускаются, и при необходимости добавляются invalid
классы
Обновление
Добавлен дополнительный блок в вашу скрипку, см. Обновленная скрипта: http://jsfiddle.net/ceArQ/10/. Я реализовал метод checkValidity()
и validity.valid
имущество.Теперь классы добавляются автоматически, когда ввод недопустим.
document.addEventListener('keyup', function(e){
var input = e.target;
if (!$.nodeName(input, 'input')) return;
input.checkValidity();
var element = $(input).parent();
if(input.validity.valid) {
element.removeClass('invalid');
element.parent().removeClass('invalid');
} else { //Remove the lines below if you don't want to automatically add
// classes when they're invalid.
element.addClass('invalid');
element.parent().removeClass('invalid');
}
});
При вводе ключа проверяется действительность элемента ввода.Если он действителен, класс invalid
удаляется из его родителя.