jquery - 检查输入字段的长度?

Twi*_*Kit 47 jquery

下面的代码用于在用户单击textarea字段时启用提交按钮.它有效,但我也试图让它只有在字段中至少有一个字符才能启用它.我试着把它包装成:

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

}
Run Code Online (Sandbox Code Playgroud)

但是,这似乎没有用......任何想法?

$("#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
            });

        }
    }
});
Run Code Online (Sandbox Code Playgroud)

Fyo*_*kin 102

这不起作用,因为从其余代码判断,文本输入的初始值是"默认文本" - 这是多个字符,因此您的if条件始终为真.

在我看来,使其工作的最简单方法是考虑这种情况:

    var value = $(this).val();
    if ( value.length > 0 && value != "Default text" ) ...
Run Code Online (Sandbox Code Playgroud)

  • value.length> 0 (4认同)

use*_*716 24

如果您要在用户键入至少一个字符后启用提交,则需要附加将为您检查的键事件.

就像是:

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