web-dev-qa-db-ja.com

textareaがinput [type = "textarea"]ではないのはなぜですか?

<textarea>の代わりに<input type="textarea">という要素があるのはなぜですか?

151
Diogo Cardoso

多分これは少し前に戻っていますが…

また、複数行のテキストフィールドは、実際には異なるタイプのものであり、クライアント側の処理。

1993年10月11日、マーク・アンドリーセン

174
Marcel

そのため、その値に引用符と<>文字を簡単に含めることができ、空白と改行を尊重できます。

次の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>
69

textareaには複数行のテキストを含めることができるため、value属性を使用して事前に入力することはできません。

同様に、select要素は、optionサブ要素に対応するための独自の要素である必要があります。

49
Mark Cidade

それは作成された時点での技術の制限でした。 Programmers.SEからコピーされた私の答え

オリジナルの1つ HTMLドラフト

注:フォームの初期設計では、TYPE = TEXTのInput要素で複数行のテキストフィールドがサポートされていました。残念ながら、これは長いテキスト値を持つフィールドで問題を引き起こします。 SGMLのデフォルト(参照数量セット)では、属性リテラルの長さは240文字に制限されています。 HTML 2.0 SGML宣言により、制限が1024文字に増えました。

22
Izkata

私はこれが古い投稿であることを認識していますが、これは同じ質問を疑問に思っている人には役立つかもしれないと思った:

前の回答は間違いなく有効ですが、textareaと入力を区別するより単純な理由があります。

前述したように、HTMLは、入力フォームを含む可能な限り多くのセマンティック構造をWebコンテンツに記述して提供するために使用されます。テキストエリアは入力に使用できますが、テキストエリアはreadonly属性を介して読み取り専用としてマークすることもできます。このような属性の存在は、inputタイプ、したがって区別には意味がありません。

5
Chas Latch