【问题标题】:jquery - check length of input field?jquery - 检查输入字段的长度?
【发布时间】:2010-04-24 01:40:53
【问题描述】:

下面的代码旨在在用户单击 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
            });

        }
    }
});

【问题讨论】:

  • >1 表示 MORE THAN 1。如果您想要至少 1,则应该使用 >= 另外,为什么要使用这种奇怪的选择器语法来根据 ID 进行选择?为什么不使用 $('#ID') 语法?
  • 我来这里寻找 jquery 值长度并认为值得注意的是,您不再需要借助值设置来获取默认文本,占位符属性现在可以完成这项工作(html5),这意味着值是未设置,因此您可以简单地检查值!== 0。

标签: jquery


【解决方案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
        }
    });
    

    【讨论】:

      【解决方案3】:

      或者使用 keyup()

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-08-23
        • 1970-01-01
        • 2011-11-19
        • 2015-02-23
        • 2018-05-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多