Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.07.2017, 17:36
Новичок на форуме
Отправить личное сообщение для persikova Посмотреть профиль Найти все сообщения от persikova
 
Регистрация: 09.12.2016
Сообщений: 5

как получить значение псевдокласса :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 ?
Ответить с цитированием
  #2 (permalink)  
Старый 13.07.2017, 18:39
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,890

Косвенная проверка псевдокласса
<!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>
Ответить с цитированием
  #3 (permalink)  
Старый 13.07.2017, 19:22
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 26,530

а если так?
console.log(input.validity.valid);
Ответить с цитированием
  #4 (permalink)  
Старый 13.07.2017, 19:46
Новичок на форуме
Отправить личное сообщение для persikova Посмотреть профиль Найти все сообщения от persikova
 
Регистрация: 09.12.2016
Сообщений: 5

Dilettante_Pro, как вариант, спасибо!

Последний раз редактировалось persikova, 13.07.2017 в 19:48.
Ответить с цитированием
  #5 (permalink)  
Старый 13.07.2017, 19:47
Новичок на форуме
Отправить личное сообщение для persikova Посмотреть профиль Найти все сообщения от persikova
 
Регистрация: 09.12.2016
Сообщений: 5

Сообщение от рони
console.log(input.validity.valid);
а вот это именно то, чего хотелось! работает, спасибо!)))

Последний раз редактировалось persikova, 13.07.2017 в 20:00.
Ответить с цитированием
  #6 (permalink)  
Старый 13.07.2017, 20:00
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 10,654

persikova,
все здесь об этом.
Ответить с цитированием
  #7 (permalink)  
Старый 14.07.2017, 10:09
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,890

Сообщение от рони
console.log(input.validity.valid);
Да, надо HTML5 внимательнее изучать...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить значение из сторонней функции? Poveritov Общие вопросы Javascript 3 14.09.2016 15:42
Как получить значение из сторонней функции? Poveritov Общие вопросы Javascript 0 14.09.2016 13:51
initComponent: Как получить данные родителя и как получить store для вызова load()? Пролетарий ExtJS 76 04.07.2015 09:22
Как получить значение $(document).scrollTop() при загрузке страницы в Chrome ilya_ jQuery 7 24.01.2013 13:04
Как получить значение php переменной sanyalex AJAX и COMET 1 30.10.2011 20:45