テキストフィールドの入力文字数をリアルタイムで求める


動作ブラウザ 【 IE:4.0  NN:-
Internet Explorer Netscape Navigator DreamPassport iCab
3.0x 4.0x 4.5 5.0x 5.5 2.0x 3.0x 4.0x 4.x 6.0 2 3 2.x
Windows × - × × × × × - × -
Macintosh × × × - × × × × × - -
UNIX - - - - - × × × × × - - -
Dreamcast - - - - - - - - - - × × -

ポイント fObj.RESULT.value = fObj.myTEXT.value.length; 住所:<input type="text" name="myTEXT" onKeydown="numCheck(this.form)"><br>
説  明 入力されている文字数をリアルタイムで調べるにはonkeydown、onkeyupイベントが発生した時にテキストフィールドの文字数を調べます。
サンプル <html> <head> <title>テキストフィールドの入力文字数をリアルタイムで求める</title> <script language="JavaScript"><!-- function numCheck(fObj) { fObj.RESULT.value = fObj.myTEXT.value.length; } // --></script> </head> <body> <form> 住所:<input type="text" name="myTEXT" onKeydown="numCheck(this.form)"><br> 入力文字数:<input type="text" name="RESULT"><br> </form> </body> </html>
補足説明 Mac版IE5では、このサンプルのようにonkeydown、onkeyupを使用した場合に日本語が正しく入力できなくなります。Mac版IE5まで対応させる場合にはsetInterval、setTimeoutなどのタイマーを利用して文字数を表示するようにしてください。また、iCab 2.8ではテキストフィールドに入力した文字が0の場合、文字数を0で返してしまいます。

■サンプルスクリプトを実行する >>実行
■各ブラウザでの動作結果を見る >>View!

写真素材 PIXTA