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 に答える