Ответ 1
Пока он не поддерживается в iOS: когда я могу использовать: требуется.
iPad Safari должен быть совместим с html5, но кажется, что необходимый элемент не работает. Кто-нибудь знает, почему, или имеет достойное обходное решение, которое не требует тонны JavaScript?
Мой код
<input type=email class=input placeholder="Email" name="email" required>
Пока он не поддерживается в iOS: когда я могу использовать: требуется.
Это решение для jQuery, оно выделяет поля ввода, которые также потерпели неудачу в розовом цвете.
$('form').submit(function(){
var required = $('[required="true"]'); // change to [required] if not using true option as part of the attribute as it is not really needed.
var error = false;
for(var i = 0; i <= (required.length - 1);i++)
{
if(required[i].value == '') // tests that each required value does not equal blank, you could put in more stringent checks here if you wish.
{
required[i].style.backgroundColor = 'rgb(255,155,155)';
error = true; // if any inputs fail validation then the error variable will be set to true;
}
}
if(error) // if error is true;
{
return false; // stop the form from being submitted.
}
});
Если вы уже используете jQuery, Modernizr и yepnope, это один из способов справиться с этим. Если вы этого не сделаете, это добавит много дополнительного javascript.
Я думаю, вы можете что-то сделать перед действием submit, таким образом
<form name="myForm" action="valid.html" onsubmit="checkValid()" method="post">
... ...
</form>
после нажатия кнопки submit
, checkValid()
вызывается перед тем, как он будет отправлен. возвращаемое значение true
продолжит действие отправки.
обратитесь к этому сообщению для дальнейшего объяснения.:)
Так как iOS 10.3, это атрибуты поддерживаются. Кроме того, тип электронной почты требует записи символа @и т.д.