• ベストアンサー

textareaの一行の文字数制御

textareaの一行あたりの文字数を制御、 もしくはカウントすることは可能でしょうか? (textarea全体の文字数ではありません。) cols="100"などと一行の文字数を制御しようとしましたが 横のスクロールバーを表示させると(WRAP="off") どうもうまくいきません。 良い方法をご存知の方がいらっしゃいましたら よろしくお願いします。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

こんな感じでどうでしょう?細部は調整して下さい <!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">

relax7777
質問者

お礼

さっそくのご回答ありがとうございました。 試してみたところ、うまく動作しました!!

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

ちょっとサンプルが切れてしまいました </textarea></body></html> をプラスして下さい。

関連するQ&A

専門家に質問してみよう