• ベストアンサー

テキストエリアの幅を10桁までにしてスクロールさせないようにしたい

タイトルのままなんですが、可能でしょうか? <textarea name="textarea" cols="40" rows="10">テスト</textarea> あと、テキストエリアに<pre>タグをつけると改行が入ってしまい、 1行分テキストエリアから離れてしまいます・・・。 テストタイトル<br> <pre><textarea name="textarea" cols="40" rows="10">テスト</textarea></pre> すみません、どなたかわかる方いらっしゃいますか? 教えてください(^^

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

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

サンプルを作ってみました。 10行入力されている時に改行が入力できなくなります。IEとFireFoxで動作確認しました。 FireFoxでは、textareaでrows="10"と指定していても9行分しかエリアが確保されないようなのでスクロールバーがでてしまいますが、10行で改行入力が制限されるのは同じです。まあ、その辺は、適当に直せばいいかと存じます。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=SHIFT_JIS"> <script language="JavaScript"> <!-- window.document.onkeypress=lineCheck; function lineCheck(e){ var ta=document.getElementById("TEXT"); var row=ta.getAttribute("rows"); var r=(ta.value.split("\n")).length; if(document.all){ if(r>=row && window.event.keyCode==13){ //keyCode for IE return false; //入力キーを無視 } } else { if(r>=row && e.which==13){ //which for NN return false; } } } //--> </script> <title>textareaを10行までしか入力できなくする</title> </head> <body> <h1>textareaは10行までしか入力できない</h1> <textarea ID="TEXT" cols="40" rows="10" style="overflow:hidden"> </textarea> </body> </html>

saya129
質問者

お礼

BLUEPIXYさん天才ですね!! 完璧です!! どうもありがとうございました~!

すると、全ての回答が全文表示されます。

その他の回答 (4)

  • UKY
  • ベストアンサー率50% (604/1207)
回答No.4

> <textarea name="textarea" cols="40" rows="10" size="10" maxlength="10">テスト</textarea> textarea に size とか maxlength とかいう属性はありません。嘘を教えないで下さい。 HTML だけでは textarea のスクロールなどに関して細かい制御はできないので、スタイルシートやスクリプトを使う必要があります。 しかし、pre の中に textarea を入れるのもそうですが、いまいち質問者さんがやりたいことがよく分かりません。《最終的に》何を目標としているのか分かればもう少しまともなアドバイスができるのですが。

参考URL:
http://www.ne.jp/asahi/minazuki/bakera/html/reference/formctrl#textarea
saya129
質問者

補足

すみません、<pre>の件とスクロールの件は まったく別なので気にしないで下さい。。 ずばりこれが知りたいです~! >HTML だけでは textarea のスクロールなどに関して>細かい制御はできないので、スタイルシートやスク>リプトを使う必要があります。

すると、全ての回答が全文表示されます。
  • iiikkk
  • ベストアンサー率37% (92/247)
回答No.3

サイズ固定とはどういうことですか?

saya129
質問者

補足

説明がヘタですみません。。 たとえばテキストエリアを改行5回分の高さに固定して 6回以上改行できないようにしたいんです。 テキストエリアのrowsを"5"にしても4回目の改行で スクロールバーが出てしまいます。

すると、全ての回答が全文表示されます。
  • iiikkk
  • ベストアンサー率37% (92/247)
回答No.2

No.1です。 <textarea name="textarea" cols="40" rows="10" size="10" maxlength="10">テスト</textarea></pre> これでどうですか?

saya129
質問者

お礼

<pre>タグは成功しました! ありがとうございました! あとはサイズを固定できれば・・・

すると、全ての回答が全文表示されます。
  • iiikkk
  • ベストアンサー率37% (92/247)
回答No.1

<textarea name="textarea" cols="40" rows="10" maxlength="5">テスト</textarea> これでどうですか?

saya129
質問者

補足

これではたくさん改行したときにスクロールして しまいますよね? やっぱり不可能なのでしょうか・・・

すると、全ての回答が全文表示されます。

関連するQ&A