0

次のことを行うのが正当かどうかお尋ねしたいです。

<textarea name="message"></textarea>

それ以外の;

<form><textarea name="message"></textarea></form>

どちらの場合も、Backbone がフォーム コンテンツを処理します。利点は、フォーム送信のデフォルトの動作を妨げる必要がないことです。これが「良い」習慣であるかどうかはわかりません。

4

2 に答える 2

2

何も問題はありません。HTML 仕様は、テキストエリアをフォームに配置することを義務付けておらず、配置されていない場合に実行するデフォルトのアクションについても説明していません。アイテムをフォームに配置することは、デフォルトのフォーム アクションを使用している場合にのみ意味があります。

2 つの潜在的な問題があります。1 つ目は、スクリプト化されていないアクションを使用せずに、ページ内に静的にテキストエリアがある非セマンティックなケースです。つまり、JavaScript がオフになっているページをユーザーが見た場合、役に立たないテキストエリアが表示されます。バックボーンの使用から、テキストエリアを生成していると思いますが、これは問題ではありません。

2 つ目は、name 属性を使用していることです。この属性はフォームに対して特別な意味を持ち、フォームの外では ID ほど強力ではありません。コンポーネントが別の開発者によってフォームに配置され、値が誤ってサーバーに渡されるという恐ろしいケースに遭遇する可能性があります。このようなことが起こります。

于 2012-07-02T05:54:13.303 に答える
1

HTML5 仕様から<textarea>:

許可された親要素

言い回し要素を含むことができる任意の要素。

そうです、あなたは<textarea>外側に置くことができます<form>、心配はありません。

于 2012-07-02T05:54:30.363 に答える