Проверка двух полей для ввода символов - PullRequest
0 голосов
/ 30 сентября 2019

У меня есть два поля и кнопка. Задача: кнопка неактивна, пока символы не будут введены в оба поля. Если хотя бы одно поле пусто - кнопка неактивна.

Идентификатор поля: «zipcode-from» и «zipcode-to»

У меня есть следующий код:

jQuery('input#zipcode-button').attr('disabled','disabled');
jQuery('input#zipcode-from').keyup(function(){
    if (jQuery('input#zipcode-from').val() == "") {
        jQuery('input#zipcode-button').attr('disabled','disabled');
    }
    else
    {
        jQuery(':input#zipcode-button').removeAttr('disabled');
    }
})

Работает для первого поля. Но как проверить оба поля? Пробовал &&, но я не могу сделать эту функцию верной.

Ответы [ 2 ]

1 голос
/ 30 сентября 2019

Вы можете просто использовать синтаксис css, чтобы присоединить keyup к обоим полям, а затем проверить, не является ли одно из полей пустым (вы должны использовать ИЛИ здесь). Как то так:

jQuery('input#zipcode-button').attr('disabled','disabled');
jQuery('input#zipcode-from, input#zipcode-to').keyup(function(){
if ((jQuery('input#zipcode-from').val() == "")||(jQuery('input#zipcode-to').val() == "")) {
    jQuery('input#zipcode-button').attr('disabled','disabled');
}
else
{
    jQuery(':input#zipcode-button').removeAttr('disabled');
}
})
0 голосов
/ 30 сентября 2019

Вот более короткая версия без полей ввода и без использования селектора jQuery . Вам не нужно сравнивать значение с пустой строкой, но я могу понять, если вы хотите для удобства чтения. Вы можете использовать !$('#zipcode-from').val(), чтобы проверить, является ли значение пустым.

Оператор if теперь содержится в условном выражении .

Fiddle здесь.

$('#zipcode-button').attr('disabled', 'disabled');

$('#zipcode-from, #zipcode-to').keyup(function() {
  (!$('#zipcode-from').val() || !$('#zipcode-to').val()) ? $('#zipcode-button').attr('disabled', 'disabled') : $('#zipcode-button').removeAttr('disabled');
})
...