フォームの中にテキスト入力フィールドを配置します。<input> のテキスト入力フィールドとは異なり、複数行のテキストを入力することができます。
テキスト入力フィールドに入力フォーカスが来たときにIME(日本語変換)を自動的にオンにしたい場合は、CSSスタイルシート属性 ime-mode を使用します。
textareaはformの子要素である。
<form>
<textarea>
<!-- テキストエリアに表示する初期値 -->
</textarea>
</form>
textarea 要素の開始タグと終了タグの間には、テキストエリアに表示する初期値を指定する。初期値がない場合は省略できる。
textarea 要素の開始タグと終了タグは共に省略できない。
textarea要素には、次の属性を指定できる。
<textarea cols="10" name="cols10"></textarea>
<textarea cols="20" name="cols20"></textarea>
Google Chromeでは、テキストエリアの右下をマウスでドラッグすることで、大きさを変えることができる。
<textarea name="disabled1" disabled></textarea>
<textarea cols="25" placeholder="ここに説明を入力します。"></textarea>
disabled属性とは異なり、フォーカスを得ることはでき、サブミット時に値を送信する。
disabled | readonly | |
---|---|---|
ユーザによる入力が | できない | できない |
フォーカスの受け手と | ならない | なる |
タブキーによるフォーカスの移動 | 飛び越される | できる |
サブミット時にフォームデータを | 送信しない | 送信する |
<textarea name="ro1" readonly>入力できません。</textarea>
<form action="/php/get.php">
<textarea name="req1" required></textarea>
<div>
<input type="submit">
</div>
</form>
<textarea rows="1" name="rows1"></textarea>
<textarea rows="2" name="rows2"></textarea>
Google Chromeでは、テキストエリアの右下をマウスでドラッグすることで、大きさを変えることができる。
<textarea style="color: red" name="s1"></textarea>
<textarea title="ここにコメントを入力してください。" name="t1"></textarea>
値 | 意味 |
---|---|
off | 自動改行しません |
hard | 表示上も送信するデータも自動改行します |
soft | 表示上は自動改行しますが、送信するデータは自動改行しません(規定値) |
<form action="/php/get.php">
<textarea name="wo" wrap="off"></textarea>
<textarea name="wh" wrap="hard"></textarea>
<textarea name="ws" wrap="soft"></textarea>
<div>
<input type="submit">
</div>
</form>
イベント属性の使用例と表示サンプルを次に示します。表示結果はブラウザによって異なることがあります。
<form name="form2">
<textarea cols="10" rows="2"
onfocus="onEvent('onfocus')"
onblur="onEvent('onblur')"
onselect="onEvent('onselect')"
onchange="onEvent('onchange')">
</textarea>
イベント: <input type="text" name="text2" readonly></input>
</form>
<script>
function onEvent(type) {
document.form2.text2.value = type;
}
</script>
textareaに入力された文字数は、入力された文字列(value値)のlengthプロパティを参照する。なお、改行も1文字としてカウントされる。
<textarea onkeyup="countLength(value, 'len')"></textarea>
<p>文字数:<span id="len">0</span></p>
<script>
function countLength(val, id) {
document.getElementById(id).innerHTML = val.length;
}
</script>
JavaScript からは HTMLTextAreaElement インタフェースを通じて、HTML の textarea 要素を参照できる。
Web Hypertext Application Technology Working Group (2023) Form Elements HTML Living Standard