【问题标题】:Jquery limit text in input boxJquery限制输入框中的文本
【发布时间】:2012-09-06 19:30:35
【问题描述】:

我想限制输入文本字段中的字符数。

我正在使用的代码:

function limitText(field, maxChar){
    if ($(field).val().length > maxChar){
       $(field).val($(field).val().substr(0, maxChar));
    }
}

事件是 onkeyup。 当我在输入字段中键入一些文本时,光标停留在文本的末尾,但焦点在文本的开头,所以我看不到光标。

可能是什么问题。

浏览器是 FF,在 IE 和 chrome 上运行正常

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    你也可以这样做:

    <input type="text" name="usrname" maxlength="10" />
    

    要使用 jQuery 实现这一点,您可以这样做:

    function limitText(field, maxChar){
        $(field).attr('maxlength',maxChar);
    }
    

    【讨论】:

      【解决方案2】:

      您的代码在 FF 中运行。这是您的代码稍作修改的版本:

      $('input.testinput').on('keyup', function() {
          limitText(this, 10)
      });
      
      function limitText(field, maxChar){
          var ref = $(field),
              val = ref.val();
          if ( val.length >= maxChar ){
              ref.val(function() {
                  console.log(val.substr(0, maxChar))
                  return val.substr(0, maxChar);       
              });
          }
      }
      

      Demo

      【讨论】:

      • 我发现在 JQuery 中做到这一点的最佳方式!酷!
      猜你喜欢
      • 1970-01-01
      • 2010-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-13
      • 2010-11-09
      相关资源
      最近更新 更多