Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.04.2018, 21:45
Интересующийся
Отправить личное сообщение для ar4ipers Посмотреть профиль Найти все сообщения от ar4ipers
 
Регистрация: 26.03.2018
Сообщений: 25

Изменение класса input
Здравствуйте. при вводе данных в поле inputa хочу добавлять ему класс red, если его текущее значение поля не совпадает с изначальным, и удалять этот класс, если значения совпадают
<input type="text" name="name" class="js_name" value="sometext">

Использую событие oninput, но класс не удаляется когда текущее значение совпадает с изначальным value, Может подскажет кто в каком направлении двигаться?
var valueInput = document.querySelector('.js_name').value;
    var input = document.querySelector('.js_name');
    input.oninput = function () {
        if (valueInput != input.value) {
            document.querySelector('.js_name').className = "red"
        }
    };
Ответить с цитированием
  #2 (permalink)  
Старый 26.04.2018, 21:53
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

ar4ipers,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css"> .red{
      background-color: #FF0000;
  }

  </style>


</head>

<body>
<input type="text" name="name" class="js_name" value="sometext">
 <script>

    var input = document.querySelector(".js_name");
    var valueInput = input.value;
    input.oninput = function () {
        input.className = "";
        if (valueInput != input.value) {
            input.className = "red"
        }
    };

  </script>
</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 26.04.2018, 22:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

ar4ipers,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css"> .red{
      background-color: #FF0000;
  }

  </style>


</head>

<body>
<input type="text" name="name" class="js_name" value="sometext">
 <script>

    var input = document.querySelector(".js_name");
    input.oninput = function () {
        with(this) className = defaultValue == value ? "" : "red";
    };
 </script>
</body>
</html>
Ответить с цитированием
  #4 (permalink)  
Старый 26.04.2018, 22:08
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css"> .js_name:invalid{
      background-color: #FF0000;
  }

  </style>


</head>

<body>
<input type="text" name="name" class="js_name" value="sometext" pattern="sometext">
</body>
</html>


Это если вам нужно именно цвет, а не добавление класса
Ответить с цитированием
  #5 (permalink)  
Старый 26.04.2018, 22:45
Интересующийся
Отправить личное сообщение для ar4ipers Посмотреть профиль Найти все сообщения от ar4ipers
 
Регистрация: 26.03.2018
Сообщений: 25

Спасибо)
Ответить с цитированием
  #6 (permalink)  
Старый 26.04.2018, 22:46
Интересующийся
Отправить личное сообщение для ar4ipers Посмотреть профиль Найти все сообщения от ar4ipers
 
Регистрация: 26.03.2018
Сообщений: 25

Спасибо за вариант)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение значения value элемента input TBUCTEP Общие вопросы Javascript 11 06.05.2017 14:53
Изменение параметра name у всех input. xTODx jQuery 24 21.02.2014 23:10
При добавлении DOCTYPE "плывут" размеры input type=text Demath (X)HTML/CSS 4 08.07.2012 19:27
изменение картинок в зависимости от значения input jump91 Общие вопросы Javascript 2 30.01.2012 09:57
Изменение множества элементов Input по определённом призна Лавсановые Волокна Элементы интерфейса 1 24.12.2010 10:37