Есть 2 инпута, в них вводятся значения, при верном значении input получает disabled.Нужна, проверка в реальном времени, если оба disabled, происходило действие.
input.disabled === true && input.disabled === true ? alert(1) : alert(2);
Происходит единожды при запуске скрипта, как я понял.
Какие есть еще варианты, кроме через setInterval
Логично проверять состояние тогда, когда оно может измениться. Когда в инпуте меняется значение, возникает событие oninput
. В этом событии можно проверить текущее значение текущего инпута и если оно совпадает с "правильным", заблокировать его и проверить не заблокирован ли второй инпут.
Если у вас инпутов много, то можно присвоить им один класс, а потом при помощи метода document.querySelectorAll
выбрать все нужные инпуты и проверить их состояние
function check(AInput, ACheckVal) {
if (AInput.value == ACheckVal) {
AInput.disabled = true;
checkOthers();
}
}
function checkOthers() {
var inputs = document.querySelectorAll('.test');
for (var i = 0; i < inputs.length; i++) {
if (!inputs[i].disabled)
return; // Нашли незаблокированный. Выходим
}
// Если дошли сюда, то все заблокированы
console.log('All input disabled');
}
<input class="test" oninput="check(this, '1')">
<input class="test" oninput="check(this, '2')">
<input class="test" oninput="check(this, '3')">
<input class="test" oninput="check(this, '4')">
function check() {
if (input1.disabled == true && input2.disabled == true) {
alert(input1);
alert(input2);
}
}
<input id="input1" value="" onkeyup="check()">
<input id="input2" value="" onkeyup="check()">
Попробуйте так
Разумеется, если эту строчку просто вставить в код, то выполнится она один раз.
input.disabled === true && input.disabled === true ? alert(1) : alert(2);
Вероятно, стоит производить проверку каждый раз после проверки одного из полей.
при верном значении input получает disabled
Исходя из вышесказанного я предполагаю, что проверка правильности введенного значения для каждого из полей у вас уже реализована. И, вероятно, производится она в какой-то функции x
. Соответственно, вам нужно всего лишь добавить в эту функцию x
проверку на то, что теперь оба поля правильно заполнены, и, если это так, выполнить результирующую функцию - в вашем случае вывести 1
.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть код приложенный нижеВ Firefox как и в IE при первом обновлении страницы, как и при последующих будет выводится переданная мной строка
Привет, есть группа ссылокНеобходимо сделать так, чтобы при клике на ссылку запускалась функция