Отключить ввод типа отправки, когда введенный текст пуст

У меня есть этот код:

setInterval(function(){
  if($("#username_error").val() == "" && $("#password_error").val() == "" && $("#email_error").val() == ""){
    $('input[type="submit"]').removeAttr('disabled');
  } else {
    $('input[type="submit"]').attr('disabled','disabled');
  }
}, 10);

Мне нужно отключить кнопку отправки, если нет ошибок для трех div. Когда я запускаю этот код, ничего не происходит. Но если я делаю alert() этот оператор if работает правильно. Что я здесь делаю неправильно?

0
nl ja de
может быть иначе, чем setInterval для такого рода вещей. просто предложение
добавлено автор Rupesh Patel, источник
Есть много событий, которые вы можете прослушать, вместо использования setOverkill .
добавлено автор undefined, источник
попробуйте ввести id для ввода [type = "submit"] и замените setInterval на другую пользовательскую функцию
добавлено автор Moorthy GK, источник

3 ответы

Сделайте это так:

$('input[type="submit"]').attr('disabled','disabled');    

$('input[type="text"]').change(function(){
   if($("#username_error").val() == "" && $("#password_error").val() == "" && $("#email_error").val() == "") {
       $('input[type="submit"]').removeAttr('disabled');
   } else {
       $('input[type="submit"]').attr('disabled','disabled');
   }
});

DEMO

1
добавлено
Ничего не произошло :(
добавлено автор Max Pain, источник
ok Я использовал live с hover , но кнопка не включается повторно после того, как нет ошибок? Как это исправить ?
добавлено автор Max Pain, источник
работал :) life saavor :)
добавлено автор Max Pain, источник
если значение ошибки пустое, что означает, что ошибки нет ... и вы отключите его ... это не имеет смысла
добавлено автор bipen, источник
@bipen Я просто дал ему идею, как это сделать. Я не рассматриваю, каковы эти значения. Это может быть текстовое поле или что-то еще.
добавлено автор Arvind Bhardwaj, источник
@MaxPain Я добавил демо, вы можете взглянуть на это.
добавлено автор Arvind Bhardwaj, источник

Используйте событие jQuery keyup.

$('input').keyup(function(){
       if($("#username_error").val() == "" && $("#password_error").val() == "" && $("#email_error").val() == "") {
         $('input[type="submit"]').attr('disabled',true);
       } else {
         $('input[type="submit"]').attr('disabled', false);
       }
    });
0
добавлено

Другое решение ...

$(document).ready(function() {
    $('button').attr("disabled", true);//starts disabling the button
    $('input').on("blur", null, function() {
        if ($("#username_error").val() != "" && $("#password_error").val() != "" && $("#email_error").val() != "") {
            $("#botao").attr("disabled", false);
        } else {
            $("#botao").attr("disabled", true);
        }
    });
});
0
добавлено
Если «#username_error», «#password_error» и «#email_error» - три div. Замените "val ()" на "html ()"
добавлено автор Adriano Silva, источник
JavaScript Jobs — чат
JavaScript Jobs — чат
8 336 участник(ов)

JavaScript Jobs — чат для поиска работы и людей Правила оформления: https://teletype.in/@telegram-ru/r1WQe5F1m См. также: @mobile_jobs, @devops_jobs, @nodejs_jobs, @react_js, @angular_ru, @js_ru

JavaScript.ru
JavaScript.ru
7 932 участник(ов)

Сообщество сайта JavaScript.ru в Slack.

pro.js
pro.js
4 675 участник(ов)

Про JavaScript и NodeJS Invite: https://t.me/joinchat/Be4rsT5Rsgq30DHutjxXgA Правила: http://telegra.ph/ru-chat-rules-06-19 Вакансии только с ЗП, не чаще раза в неделю.

Верстка сайтов HTML/CSS/JS/PHP
Верстка сайтов HTML/CSS/JS/PHP
3 439 участник(ов)

Правила группы: напишите !rules в чате. Группа Вк: vk.com/web_structure Freelancer: @web_fl Веб Дизайн: @dev_design Маркетолог: @topmarkening Автор: @M_Boroda

JavaScript — русскоговорящее сообщество
JavaScript — русскоговорящее сообщество
3 269 участник(ов)

Рекомендуем сразу отключить уведомления Правила: https://rudevs.network/ByaMH6un7 См. также: @js_noobs_ru, @nodejs_ru, @typescript_ru, @react_js, @electron_ru Вакансии и поиск работы: @javascript_jobs

JavaScript Noobs — сообщество новичков
JavaScript Noobs — сообщество новичков
2 484 участник(ов)

Чат для новичков

javascript_ru
javascript_ru
915 участник(ов)

Сообщество любителей самого популярного языка программирования в мире. Чат основан в 2009 году. Логи: https://goo.gl/9EOeM7 Поддержка бота: @chat_linker (ссылка на репу внутри) Вам будут интересны @frontend_ru и @css_ru

jsChat
jsChat
603 участник(ов)

Чат посвященный программированию на языке javaScript Перед отправкой ссылки на Ваш контент посоветуйтесь с админом Все ссылки удаляются ботом автоматически

JavaScript for Zombies Chat
JavaScript for Zombies Chat
492 участник(ов)

Чат про JavaScript для настоящих zombie! Вход строго по приглашениям! Ссылка для строгих приглашений: https://t.me/joinchat/AAMBHz3Uyr0tuZ7VaB029g

All That JS
All That JS
417 участник(ов)

JS на русском