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

时间:2010-04-24 01:40:53

标签: 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
            });

        }
    }
});

3 个答案:

答案 0 :(得分:97)

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

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

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

答案 1 :(得分:20)

如果您想在用户输入至少一个字符后启用提交,则需要附加一个能够为您检查的关键事件。

类似的东西:

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

答案 2 :(得分:1)

或者使用 keyup()

 $("#fbss").keyup(function() {
 if($(this).val().length >1) {
    $('#submit').prop('disabled', false);
   }
 });