- ベストアンサー
PHPでの入力文字数リアルカウント
PHPプログラミングについての質問です。 テキストエリアに文字を入力しているときに今何文字入力されているかをカウントしていくのはどうやればよいのですか? ワードみたいな感じでカウントしたいのですが。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
HTTPではリアルタイムにウェブサーバに情報を 送信していません。必ずクライアント側が 何らかのアクションを起こさなければなりません。 GETやPOSTなどがそうです。 なので、ページに入力中というのはクライアントが 一文字入力したらサーバへ転送しなければならない ということです。これは現実的ではありません。 なのでクライアント側での処理は一般的に JavaScriptで記述します。ただしJavaScriptは 無効にされたりと完璧ではありませんので、 PHP側での文字列長チェック処理も必要です。
その他の回答 (2)
- michisanpo
- ベストアンサー率36% (7/19)
<!-- window.document.onkeyup = Function('moji_count();'); var oRcts; function moji_count() { oTextRange = document.all('id').createTextRange(); oRcts = oTextRange.getClientRects(); nMoji = oTextRange.text.length; var kaicount,x=0,y=0; for(kaicount=0;;kaicount++){ x=oTextRange.text.indexOf("\n",y);if(x==-1)break; y=x+2; } document.form.m.value = nMoji-kaicount; } //--> </script> <center> <form name = "form"> <textarea id="id" rows="16" cols="30" wrap="soft"></textarea> <br>現在の入力文字数:<input type="text" size="3" id="m" name="m"> </form> </center> -------------------------------------------------- javascriptだとこれで、いけるのではないでしょうか。改行は1文字と計算しています。一度ためしてみてください。
お礼
ソースまで書いて頂き大変ありがとうございます。 一度、試してみたいと思います。
- kosa
- ベストアンサー率25% (379/1464)
入力中に現在の文字数を表示するのですよね? リアルタイムに現在何文字かを表示するのは難しいです。 FLASH+PHPで可能っぽいですが複雑になってきますね。
お礼
ありがとうございます。 PHPは勿論初めてですが、FLASHは全く使用したことがありません。 勉強させて頂きます。 大変参考になりました。
お礼
ありがとうございます。 WEBは初心者なものでよくわかりません。 JavaScript、検討してみます。 大変参考になりました。