Если тип ввода текста пустой, отключена ли кнопка типа отправить с помощью jQuery? - PullRequest
0 голосов
/ 17 февраля 2012

Мне нужен простой код для отключения кнопки, чтобы отправить форму на следующих условиях:

Если выбрано <input type="radio"> с идентификатором "#radio_one", а затем проверить только один <input type="text"> с идентификатором "#text_one".

OR

Если выбрано <input type="radio"> с идентификатором "# radio_two", а затем проверить два <input type="text"> с идентификатором "#text_one", а также с идентификатором "#text_two".

И, если при условии один или два <input type="text"> будет пустым, добавьте для кнопки <input type="send"> attribute disabled = "disabled", если, однако, при повторном заполнении этот атрибут будет удален из кнопки.

Извините за мой английский, я использовал Google Translator: (

У меня нет другого кода, надеюсь, вы понимаете меня, поэтому я создал простой код jQuery, который затем можно редактировать.

Спасибо

Редактировать: Это не работает:

    $("#send_button").attr("disabled", "disabled");   

    if ($('#absence_one').checked && $('#cal_from').val().length > 0) {
        $("#send_button").removeAttr("disabled");
    }

    if ($('#absence_more').checked && $('#cal_to').val().length > 0) {
        $("#send_button").removeAttr("disabled");
    }

Ответы [ 2 ]

1 голос
/ 17 февраля 2012

Посмотрите мой пример здесь jsfiddle .

Я включил click прослушиватель на радио, чтобы он проверял, отключена или не отключена кнопка

Я добавил слушателя keyup для ввода текста, чтобы он проверял, отключать или не отключать кнопку

EDIT

Я внес небольшое изменение в пример, вот новый jsfiddle .

Также убедитесь, что вы дважды проверяете отправку на стороне сервера. Если кто-то отключит JavaScript, кнопка будет доступна для нажатия.

$("#send_button").attr("disabled", "disabled");   

$("input[type='radio']").change(function()
{
    checkButton();
});

$("input[type='text']").keyup(function()
{
    checkButton();
});

function checkButton()
{
    if (($('#absence_one').is(":checked") && $('#cal_from').val().length > 0) || ($('#absence_more').is(":checked") && $('#cal_to').val().length > 0)) {
        $("#send_button").removeAttr("disabled");
    }
    else
    {
        $("#send_button").attr("disabled", "disabled");
    }
}
1 голос
/ 17 февраля 2012

Если я понимаю, вы хотите отключить кнопку отправки, если любая пара переключателей / текстового поля не выполнена. Если так:

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

if ($('#radio_one').checked && $('#text_one').val().length > 0) {
    $("input[type=submit]").removeAttr("disabled");
}

if ($('#radio_two').checked && $('#text_two').val().length > 0) {
    $("input[type=submit]").removeAttr("disabled");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...