複数行の文字列を入力するテキストエリア。
textareaのボディー部に値を書くと、それが初期値になる。
<textarea>改行が無い場合の初期値</textarea>
ただし、textareaの開始タグの直後の改行はHTML上のブランクと見なされ、無視される。(IE6.0SP2やIE7.0)
つまり“先頭が改行の文字列”を初期値にする場合、textarea開始タグの直後が改行だと、それは改行として扱われない。
これを回避するには、初期値はtextarea開始タグの次の行の先頭から記述する。
<textarea> 初期値</textarea>
<textarea> 改行が先頭に1つある例</textarea>
<textarea> 改行が末尾に1つある例 </textarea>
<textarea> 開始タグの前にタブがあっても問題なし</textarea>
つまり、JSP等で値をセットする場合は、以下の様に書かなければならないということ。
<textarea> <c:out value="値"/></textarea>
HTML4.01仕様では、開始タグ直後の改行と、終了タグ直前の改行は無視することになっている。[2009-01-17]
しかしIEの上記の動作は、開始タグについては仕様通りだが、終了タグについては仕様違反だなぁ…。
(preタグでは、どちらの改行もちゃんと無視されるようなのだが…)
属性 | 備忘 | 値 | 更新日 | |
---|---|---|---|---|
wrap | 折り返しの指定。 テキストエリアの一番右を超えて文字を入力した場合にどうなるかを指定する。 |
off | (折り返さずに)そのまま同一行に続ける。 | 2009-01-17 |
soft virtual |
見た目は折り返されるが、サブミット時に送信されるデータは同一行のまま。 | |||
hard physical |
自動改行され、サブミット時にはそこで改行されたまま送信される。 |