как получить значение псевдокласса :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, время: 09:34. |