Подтвердить что ты не робот

Jquery - проверить длину поля ввода?

Приведенный ниже код предназначен для включения кнопки отправки, когда пользователь нажимает кнопку в поле textarea. Он работает, но я также пытаюсь сделать так, чтобы он включался только в том случае, если в поле было хотя бы один символ. Я попробовал обернуть его:

if ($(this).val().length > 1) 
{

}

Но, похоже, это не сработало... Любые идеи?

$("#fbss").focus(function () {
    $(this).select();
    if ($(this).val() == "Default text") {
        $(this).val("");
        $("input[id=fbss-submit]").removeClass();
        $("input[id=fbss-submit]").attr('disabled', false);
        $("input[id= fbss-submit]").attr('class', '.enableSubmit');
        if ($('.charsRemaining')) {
            $('.charsRemaining').remove();
            $("textarea[id=fbss]").maxlength({
                maxCharacters: 190,
                status: true,
                statusClass: 'charsRemaining',
                statusText: 'characters left',
                notificationClass: 'notification',
                showAlert: false,
                alertText: 'You have exceeded the maximum amount of characters',
                slider: false
            });

        }
    }
});
4b9b3361

Ответ 1

Это не работает, потому что, судя по остальной части кода, начальным значением текстового ввода является "текст по умолчанию" - это более одного символа, поэтому ваше условие if всегда истинно.

Самый простой способ заставить его работать, как мне кажется, - это учитывать этот случай:

    var value = $(this).val();
    if ( value.length > 0 && value != "Default text" ) ...

Ответ 2

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

Что-то вроде:

$("#fbss").keypress(function() {
    if($(this).val().length > 1) {
         // Enable submit button
    } else {
         // Disable submit button
    }
});