как получить значение псевдокласса :valid/:invalid ?
Есть форма с инпутами, валидация которых должна осуществляться браузером с помощью регулярных выражений, например:
<form class="form1"> <input required type="email" name="email" pattern="\S+@[a-z]+.[a-z]+" oninput="validateComments(this)"> </form> Пытаюсь с помощью js получить значение, пройдена ли эта валидация <script type="text/javascript"> function validateComments(input) { console.log(input.prototype.valid); } </script> но при такой записи (как и при всех других моих попытках) получаю undefined. как получить значение псевдокласса input, :valid/:invalid ? |
Косвенная проверка псевдокласса
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>:valid</title>
<style>
input:invalid {
background: #fdd; /* Красный цвет фона */
}
input:valid {
background: #dfd; /* Зеленый цвет фона */
}
</style>
</head>
<body>
<form>
<input required type="email" name="email" pattern="\S+@[a-z]+.[a-z]+" oninput="validateComments(this)">
</form>
<script type="text/javascript">
function validateComments(input) {
console.log(getComputedStyle(input).backgroundColor);
}
</script>
</body>
</html>
|
:write: а если так?
console.log(input.validity.valid); |
Dilettante_Pro, как вариант, спасибо! :)
|
Цитата:
|
persikova,
все здесь об этом. |
Цитата:
|
| Часовой пояс GMT +3, время: 17:26. |