jquery отключить кнопку, когда текст одного поля удаляется?

0

Допустим, у меня есть два текстовых поля ввода и кнопка отправки в форме, подобной этой

<input type="text" name="name" id="name" />
<input type="text" name="email" id="email" />
<input type="submit" id="submit />

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

<script type="text/javascript">
  jQuery(document).ready(function() {
    jQuery('submit').prop("disabled",true);
    jQuery("#name, #email").on('keyup',function() {
      var namevalue = jQuery('#name').val().length;
      var emailvalue = jQuery('#email').val().length;
      if(namevalue > 0 && emailvalue > 0) {
        jQuery('#submit').removeAttr("disabled");
      }
    });
  });
</script>

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

  • 0
    добавьте еще часть с помощью jQuery ('# submit'). attr ("disabled", "disabled"); должно сработать
Теги:

3 ответа

1
Лучший ответ

Просто disabled кнопка в блоке else

  if(namevalue > 0 && emailvalue > 0) {
    jQuery('#submit').removeAttr("disabled");
  }else{
     jQuery('#submit').prop("disabled", true);
  }

Вышеуказанный оператор можно упростить, используя

  jQuery('#submit').prop("disabled", !(namevalue > 0 && emailvalue > 0));

Кроме того, в вашем коде jQuery('submit').prop("disabled",true); вы пропустили #

0

Вы должны добавить else в условие if:

  if(namevalue > 0 && emailvalue > 0) {
    jQuery('[type="submit"]').prop("disabled",false);
  }else{
   jQuery('[type="submit"]').prop("disabled",true);
  }

играть на скрипке

0

Примечание. Отсутствуют двойные кавычки в вашей HTML-метке вверх

Ваш код: <input type="submit" id="submit/>

Исправить: <input type="submit" id="submit"/>

Вот он: http://jsfiddle.net/bkNxH/

$("#name, #email").keyup(function() {

    var name = $.trim($("#name").val());
    var email = $.trim($("#email").val());

    if(name != '' && email != '') {
        $('#submit').removeAttr('disabled');
    } else {
        $('#submit').attr('disabled', 'disabled');
    }

});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню