• ベストアンサー

PHPでの入力文字数リアルカウント

PHPプログラミングについての質問です。 テキストエリアに文字を入力しているときに今何文字入力されているかをカウントしていくのはどうやればよいのですか? ワードみたいな感じでカウントしたいのですが。

質問者が選んだベストアンサー

  • ベストアンサー
  • rucifer
  • ベストアンサー率46% (6/13)
回答No.2

HTTPではリアルタイムにウェブサーバに情報を 送信していません。必ずクライアント側が 何らかのアクションを起こさなければなりません。 GETやPOSTなどがそうです。 なので、ページに入力中というのはクライアントが 一文字入力したらサーバへ転送しなければならない ということです。これは現実的ではありません。 なのでクライアント側での処理は一般的に JavaScriptで記述します。ただしJavaScriptは 無効にされたりと完璧ではありませんので、 PHP側での文字列長チェック処理も必要です。

toritu
質問者

お礼

ありがとうございます。 WEBは初心者なものでよくわかりません。 JavaScript、検討してみます。 大変参考になりました。

その他の回答 (2)

回答No.3

<!-- 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文字と計算しています。一度ためしてみてください。

toritu
質問者

お礼

ソースまで書いて頂き大変ありがとうございます。 一度、試してみたいと思います。

  • kosa
  • ベストアンサー率25% (379/1464)
回答No.1

入力中に現在の文字数を表示するのですよね? リアルタイムに現在何文字かを表示するのは難しいです。 FLASH+PHPで可能っぽいですが複雑になってきますね。

toritu
質問者

お礼

ありがとうございます。 PHPは勿論初めてですが、FLASHは全く使用したことがありません。 勉強させて頂きます。 大変参考になりました。

関連するQ&A