2

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

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

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

4

2 回答 2

2

只需添加这个对我有用的 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>
于 2013-07-15T11:24:06.193 回答
0
    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>
于 2013-07-15T11:20:04.803 回答