【问题标题】:Set the max amount of chars in a textarea设置文本区域中的最大字符数
【发布时间】:2013-07-13 05:50:57
【问题描述】:

我尝试限制可以添加到文本区域的字符数。我知道我可以使用子字符串获取字符数,但我想向用户表明他的文本已达到最大长度。

maxlength-attribute 似乎完全符合我的要求,但 IE 在我们当前的版本上不支持它(我认为它在 IE9 附近的某个地方支持)

为了避免这个问题,我集成了onKeyPress="return(this.value.length < 160);",它可以很好地防止文本过长,但它也可以防止擦除或重新编辑文本,这是一个大问题。

【问题讨论】:

标签: php javascript html


【解决方案1】:

只需添加这个对我有用的 javascript 并且查看左字符也很有用。

function textCounter(field,cntfield,maxlimit) { 

    if (field.value.length > maxlimit) // if too long...trim it!
    {field.value = field.value.substring(0, maxlimit); }
    // otherwise, update 'characters left' counter
    else
    {       
    //cntfield.value = maxlimit - field.value.length; 
    cntfield.value = field.value.length
    }

}


html file

另外请添加onKeypress以下跨度文本区域的事件以管理剩余字符

<span class="alignright comments-req"><input type="text" name="textlen" id="textlen" value="0" class="counter-textfield">/500 <?php  echo $this->translate('LABEL_CHARACTER_USED');?></span>

【讨论】:

  • 我需要如何实现这个功能?我需要使用
  • 伟大的似乎工作完美!我真的很喜欢计数器的额外好处,希望我们的用户也喜欢;)
  • 很高兴为您提供帮助@user2425234
  • 计数器似乎是一个延迟事件,即当我剩余 160 个字符并且我添加一个字符时,计数器仍然是 160,如果我删除了我得到 159 的字符。我希望很清楚是什么我的问题是
  • 可能是你通过的计数器可能有问题
【解决方案2】:
    You can use jquery validation check this link
 http://jqueryvalidation.org/maxlength-method/


    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Makes "field" required having at most 4 characters.</title>
    <link rel="stylesheet" href="http://jquery.bassistance.de/validate/demo/site-demos.css">

    </head>
    <body>
    <form id="myform">
    <label for="field">Required, maximum length 4: </label>
    <input type="text" class="left" id="field" name="field">
    <br/>
    <input type="submit" value="Validate!">
    </form>
    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    <script src="http://jquery.bassistance.de/validate/jquery.validate.js"></script>
    <script src="http://jquery.bassistance.de/validate/additional-methods.js"></script>
    <script>
    // just for the demos, avoids form submit
    jQuery.validator.setDefaults({
      debug: true,
      success: "valid"
    });
    $( "#myform" ).validate({
      rules: {
        field: {
          required: true,
          maxlength: 4
        }
      }
    });
    </script>
    </body>
    </html>

【讨论】:

  • 我想在用户输入时使用验证,我该怎么做?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-11
  • 1970-01-01
  • 1970-01-01
  • 2012-04-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多