- ベストアンサー
textareaの一行の文字数制御
textareaの一行あたりの文字数を制御、 もしくはカウントすることは可能でしょうか? (textarea全体の文字数ではありません。) cols="100"などと一行の文字数を制御しようとしましたが 横のスクロールバーを表示させると(WRAP="off") どうもうまくいきません。 良い方法をご存知の方がいらっしゃいましたら よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんな感じでどうでしょう?細部は調整して下さい <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=SHIFT_JIS"> <title>textareaを各行指定文字数までしか入力できなくする</title> <script language="JavaScript"> <!-- window.document.onkeypress=lineCheck; function lineCheck(e){ var ta=document.getElementById("TEXT"); var col=ta.getAttribute("cols"); var lines=ta.value.split("\n"); for(var i=0;i<lines.length;i++){ if(lines[i].length >col){ lines[i]=lines[i].substr(0,col);//各行をcolsで指定した文字数に切り捨てる } } ta.value=lines.join("\n"); } //--> </script> </head> <body> <h1>textareaは各行100文字までしか入力できない</h1> <textarea ID="TEXT" cols="100" rows="10" style="overflow:auto" wrap="OFF">
その他の回答 (1)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
ちょっとサンプルが切れてしまいました </textarea></body></html> をプラスして下さい。
お礼
さっそくのご回答ありがとうございました。 試してみたところ、うまく動作しました!!