6

例: http://jsfiddle.net/67XDq/1/

私は次のHTMLを持っています:

<tr id="rq17">
    <td class='qnum'>17.</td>
    <td class='qtext'>Questions? <i>Maximum of 500 characters - <input style="color:red;font-size:12pt;font-style:italic;" readonly type="text" name="q17length" size="3" maxlength="3" value="500"> characters left</i><br/>
              <textarea 
                 onKeyDown="textCounter(document.frmSurvey.q17,document.frmSurvey.q17length,500);"
                 onKeyUp="textCounter(document.frmSurvey.q17,document.frmSurvey.q17length,500)" 
                 class="scanwid" name="q17" id="q17" rows="5" cols="">
              </textarea>
    </td>
</tr>

そして、次の 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;
    }

私が完全に見逃している何らかの理由で、これは意図したとおりに機能していないようです。

内の文字数を制限し、textarea内の数をカウントダウンする必要labelがありますが、どちらも行っていません。

4

4 に答える 4

1

フィドルを参照してください:http://jsfiddle.net/abhiklpm/67XDq/15/

関数を変更しました:

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

id="q17length"また、HTMLにIDがありませんでした

編集:また、IDを文字列として渡していませんでした:textCounter('q17','q17length','500');

于 2013-11-13T19:47:37.050 に答える
0
var tweet = prompt("Write Tweet:");

var tweetCount = tweet.length;

alert("You have written " + tweetCount + " characters, you have " + (140- tweetCount) + " Chartacters remaining")
于 2019-02-14T21:40:07.060 に答える