<textarea>
の代わりに<input type="textarea">
という要素があるのはなぜですか?
そのため、その値に引用符と<>文字を簡単に含めることができ、空白と改行を尊重できます。
次のHTMLコードは、 w3cバリデーター を正常に渡し、エンコードせずに<、>および&を表示します。また、空白も尊重します。
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Yes I can</title>
</head>
<body>
<textarea name="test">
I can put < and > and & signs in
my textarea without any problems.
</textarea>
</body>
</html>
textarea
には複数行のテキストを含めることができるため、value
属性を使用して事前に入力することはできません。
同様に、select
要素は、option
サブ要素に対応するための独自の要素である必要があります。
それは作成された時点での技術の制限でした。 Programmers.SEからコピーされた私の答え :
オリジナルの1つ HTMLドラフト :
注:フォームの初期設計では、TYPE = TEXTのInput要素で複数行のテキストフィールドがサポートされていました。残念ながら、これは長いテキスト値を持つフィールドで問題を引き起こします。 SGMLのデフォルト(参照数量セット)では、属性リテラルの長さは240文字に制限されています。 HTML 2.0 SGML宣言により、制限が1024文字に増えました。
私はこれが古い投稿であることを認識していますが、これは同じ質問を疑問に思っている人には役立つかもしれないと思った:
前の回答は間違いなく有効ですが、textareaと入力を区別するより単純な理由があります。
前述したように、HTMLは、入力フォームを含む可能な限り多くのセマンティック構造をWebコンテンツに記述して提供するために使用されます。テキストエリアは入力に使用できますが、テキストエリアはreadonly属性を介して読み取り専用としてマークすることもできます。このような属性の存在は、inputタイプ、したがって区別には意味がありません。