У меня есть ввод электронной почты на форме. Он имеет значение по умолчанию. Когда вы нажмете focus
, оно вычеркивает поле, если значение равно значению по умолчанию. Когда вы укажете blur
, он устанавливает значение по умолчанию, если поле пустое.Поле электронной почты HTML5, дающее «пустое» предупреждение в последнем FF 35
Проблема заключается в том, что если вы нажмете кнопку «Отправить», когда пустое письмо (или по умолчанию), оно ответит FF пустым предупреждающим сообщением вместо «Пожалуйста, введите адрес электронной почты». Это происходит только в последнем FF 35
Проблема не произойдет, если я удалить либо focus
или blur
событие. Я не могу использовать place holders
или атрибут required
или что-то еще подобное, потому что это должно быть совместимо с IE8.
Как это исправить? Я не хочу использовать внешний плагин или библиотеку. Это изменение должно быть минимальным. Я не могу изменить поведение - форма по-прежнему должна функционировать, как она функционирует в настоящее время.
HTML
<form action="">
<input data-default='Email*' value="Email*" id=email type="email" />
<input type=submit />
</form>
JS
$('#email').focus(function() {
if ($(this).val()=="Email*") {
$(this).val("");
}
});
$('#email').blur(function() {
if ($(this).val()=="") {
$(this).val($(this).data('default'));
}
});
http://jsfiddle.net/vkbgg8dr/1/