- ベストアンサー
文字数カウント
文字数をチェックするスクリプトがほしいです。 ネットで色々見たんですが、なかなか理解できません。。 本当に簡単で分かりやすいものが希望です。 1つ1つ説明を付けていただけるとありがたいです。 宜しくお願いします。 リアルにカウントするものではなくて、 「カウントする」というボタンを押すと 数字が表示されるものを希望しています。 本当に初心者なんで詳しく説明していただけると 喜びます。 それでは宜しくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>ブラウザ上に表示する の仕様がどうしたいのかわかりません。 とりあえず直前のテキストボックスにでもいれておきますか? (テキストエリアの場合改行を数えるかどうかも決める必要があります) <script> function check(obj){ var n=obj; while(n){ if(n.nodeName=="TEXTAREA"){var ta=n;break;} n=n.previousSibling; } var n=obj; while(n){ if(n.nodeName=="INPUT" && n.type=="text"){var tb=n;break;} n=n.previousSibling; } tb.value=ta.value.replace(/[\n\r]/g,"").length; } </script> <form> <p> <textarea> これはテストです! </textarea><br> 文字数:<input type="text"> <input type="button" value="カウントする" onclick="check(this)"> </p> <p> <textarea> this is test !? </textarea><br> 文字数:<input type="text"> <input type="button" value="カウントする" onclick="check(this)"> </p> </form>
その他の回答 (3)
- yambejp
- ベストアンサー率51% (3827/7415)
じゃたとえばこんなとか tb.value=ta.value.replace(/(\r\n|\r)/g,"\n").length; テキストエリア自体の最後の行の改行とかカウントされてるのが きにいらなければ tb.value=ta.value.replace(/(\r\n|\r)/g,"\n").replace(/\n$/g,"").length; とか・・・
- fujillin
- ベストアンサー率61% (1594/2576)
No.1と同じですが… onchangeなのでエリア外側に出たときに反映します。 <html> <body> 文字列: <input type="text" value="" onChange="document.getElementById('L').innerHTML=this.value.length"> <p> 文字数:<span id="L"></span> </body> </html>
- yambejp
- ベストアンサー率51% (3827/7415)
なんの文字数をカウントするのでしょうか? とりあえずダイレクトに指定する例でいえばこんな感じ <input type="button" value="カウントする" onclick="alert('abc123あいう'.length)"> あとは参照する方法など工夫すればいいですね
補足
すいません。 説明不足でした。。 textareaに書いた文章の時数を調べたいんです。 alertではなくて、ブラウザ上に表示していただいて構いません。 あとスクリプト全て書いていただけたら嬉しいです。。
補足
あっこんな感じです! 出来れば 行数の場合も1字文字増えるようにしてほしいです。。 わがままですいません。。