JQuery отключить / включить кнопку отправки

Ответ Свена является правильным выбором, если вы хотите сравнить фактическое содержимое массивов. Если вы хотите только проверить, содержится ли в списке один и тот же экземпляр, вы можете использовать

any(a is x for x in mylist)

. Одно преимущество заключается в том, что это будет работать для всех видов объектов.

757
задан Uwe Keim 11 March 2019 в 15:22
поделиться

3 ответа

Проблема в том, что событие изменения срабатывает только тогда, когда фокус перемещается от ввода (например, кто-то щелкает ввод или закрывает его). Попробуйте вместо этого использовать клавиатуру:

$(document).ready(function() {
     $(':input[type="submit"]').prop('disabled', true);
     $('input[type="text"]').keyup(function() {
        if($(this).val() != '') {
           $(':input[type="submit"]').prop('disabled', false);
        }
     });
 });
1142
ответ дан 22 November 2019 в 21:22
поделиться
$(function() {
  $(":text").keypress(check_submit).each(function() {
    check_submit();
  });
});

function check_submit() {
  if ($(this).val().length == 0) {
    $(":submit").attr("disabled", true);
  } else {
    $(":submit").removeAttr("disabled");
  }
}
125
ответ дан 22 November 2019 в 21:22
поделиться

eric, your code did not seem to work for me when the user enters text then deletes all the text. i created another version if anyone experienced the same problem. here ya go folks:

$('input[type="submit"]').attr('disabled','disabled');
$('input[type="text"]').keyup(function(){
    if($('input[type="text"]').val() == ""){
        $('input[type="submit"]').attr('disabled','disabled');
    }
    else{
        $('input[type="submit"]').removeAttr('disabled');
    }
})
25
ответ дан 22 November 2019 в 21:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: