Повторять, проверять несколько значений формы, если они обновляются каждые 2 секунды

Я хотел бы запустить приведенный ниже код и непрерывно проверять операторы если каждые 2 секунд; чтобы увидеть, были ли обновлены какие-либо значения. Так что оборачиваем нижеследующий бесконечный цикл 2000?

    if (value1 > 0 ) { 
        document.getElementById('field_52_116').style.display = "none";

      } else if (value1 == 0 ) { 
//       document.getElementById('rate').style.display = "none";
//       document.getElementById('pay-plans').style.display = "none";
      }
    if (value2 > 0 ) { 
        document.getElementById('field_52_116').style.display = "none";

    } else if (value2 == 0 ) { 
//       document.getElementById('rate').style.display = "none";
//       document.getElementById('pay-plans').style.display = "none";
    }
    if (value3 > 0 ) { 
        document.getElementById('field_52_116').style.display = "none";

      } else if (value3 == 0 ) { 
//       document.getElementById('rate').style.display = "none";
//       document.getElementById('pay-plans').style.display = "none";
      }
    if (value1 && value2 && value3 == 0 ) { 
        document.getElementById('field_52_116').style.display = "block";
        document.getElementById('rate').style.display = "none";
        document.getElementById('pay-plans').style.display = "none";
    }   

Оберните их в функцию и используйте setInterval?

slider 27.10.2018 18:44

Оберните приведенный выше код в функцию и используйте setInterval для вызова этой функции каждые 2 секунды, как setInterval( myValidateFunction, 2000);.

Mohit Bhardwaj 27.10.2018 18:44

Почему бы не прикрепить прослушиватели событий change к входам формы и не сделать что-нибудь на их основе. Спасает наличие таймера.

Andy 27.10.2018 18:44

Разве не было бы проще запустить функцию при изменении?

jmargolisvt 27.10.2018 18:44

Что это за value1, value2 and value3? Простые переменные JS?

Jignesh M. Khatri 27.10.2018 18:46

Я согласен с теми, кто рекомендует использовать для этого обработчик событий. Таймер кажется неправильным способом сделать это, если только у вас нет особой необходимости проверять каждые две секунды.

j08691 27.10.2018 19:04
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
6
26
1

Ответы 1

Вы можете заключить свои проверки в функцию и использовать setInterval для запуска этой функции каждые 2 секунды:

function update() {
  var value1 = Math.floor(Math.random() * 2),
    value2 = Math.floor(Math.random() * 2),
    value3 = Math.floor(Math.random() * 2);
  document.getElementById("values").innerHTML = `Value1: ${value1}, Value2: ${value2}, Value3: ${value3}`;

  if (value1 > 0) {
    document.getElementById('field_52_116').style.display = "none";
  } else if (value1 == 0) {
    document.getElementById('field_52_116').style.display = "block";
    document.getElementById('field_52_116').style.color = "green";
  }
  if (value2 > 0) {
    document.getElementById('field_52_116').style.display = "none";
  } else if (value2 == 0) {
    document.getElementById('field_52_116').style.display = "block";
    document.getElementById('field_52_116').style.color = "red";
  }
  if (value3 > 0) {
    document.getElementById('field_52_116').style.display = "none";
  } else if (value3 == 0) {
    document.getElementById('field_52_116').style.display = "block";
    document.getElementById('field_52_116').style.color = "blue";
  }
  if (value1 && value2 && value3 == 0) {
    document.getElementById('field_52_116').style.display = "block";
    document.getElementById('rate').style.display = "none";
    document.getElementById('pay-plans').style.display = "none";
  }
}

setInterval(update, 2000);
div {
  height: 50px;
  border: 1px solid black;
  margin: 5px;
  padding: 2px;
}
<p id = "values"></p>
<div id = "field_52_116">Field 52 116</div>
<div id = "rate">Rate</div>
<div id = "pay-plans">Pay plans</div>

Другие вопросы по теме