Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
А вот я бы опасался иметь два таких элемента, у которых<input name="frameworks" list="frameworks" /> <datalist id="frameworks"> <option value="MooTools"> <option value="Moobile"> <option value="Dojo Toolkit"> <option value="jQuery"> <option value="YUI"> </datalist>
<audio>
стоит заметить, что mp3 не поддерживается в FF и Опере (то есть приведенный в посте код не соответствует табличке соответствия). И ни один формат не поддерживается сразу во всех популярных браузерах (табличка). Так что либо backoff на Flash в FF (при использовании mp3), либо конвертация аудио в пару форматов.<input type="text" data-validator="email" data-invalid-message="Некорректный email" data-required="yes" />
А потом пишем буквально несколько строчек на jQuery, которые при сабмите любой формы ищут эти атрибуты и делают проверку. Будет работать везде, одинаково, и я не получу упрек в низком профессионализме и неумении поддерживать все браузеры.// При сабмите любой формы
$('form').submit(function(){
var valid = true;
// Пробежаться по всем полям
$('input', this).each(function(){
$(this).removeClass('invalid');
// Если есть специальный аттрибут, то проверить условие
if($(this).attr('data-requered') == 'yes' && (this).val() == '') {
// Помечаем поле как инвалидное, может быть еще alert-ом ругаемся
$(this).addClass('invalid');
...
valid = false;
}
// Другие валидаторы, например через RegExp, минимальная длинна, пользовательская функция, совпадение с другим полем (для паролей) и т.п.
if(...) {
...
}
});
return vaild;
});
Полезные сниппеты на HTML5