0

ここで説明されているように、html5入力に「フォーム」属性を使用しようとしています:

[1] http://www.w3schools.com/html5/att_input_form.asp

[2] http://www.w3schools.com/html5/tryit.asp?filename=tryhtml5_input_form

属性の説明には、フォーム属性が次のように記載されています。「要素が属する1つ以上のフォームにIDのスペースで区切られたリストを指定します」

W3C の TryIt エディター (上記のリンク 2) で以下のコードを使用して、これをテストしています。

<form action="demo_form.asp" id="form1">
First name: <input type="text" name="fname" /><br>
<input type="submit" value="Submit" />
</form>

<form action="demo_form.asp" id="form2">
First name: <input type="text" name="fname" /><br>
<input type="submit" value="Submit" />
</form>

Last name: <input type="text" name="lname" form="form1 form2" />

form2 に「string_for_form2」を指定し、lname フィールドに「lastname」を指定しました。私は次のように出力を得ています:

fname=string_for_form2

それ以外の

fname=string_for_form2&lname=lastname

結果が期待どおりにならない理由はありますか? Firefox 17 と Chrome 23 で試しました。

ありがとう

4

4 に答える 4

2

2 人のフォーム所有者を割り当てようとしているからです。

「フォームに関連付けられた要素は、デフォルトで、最も近い祖先のフォーム要素に関連付けられていますが(後述)、これをオーバーライドするためにフォーム属性が指定されている場合があります。」

http://www.w3.org/TR/html5/forms.html#association-of-controls-and-forms

この属性は、マークアップの柔軟性を可能にするだけであり、フォーム所有権のパラダイムを以前の仕様から変更するものではありません。

于 2012-12-29T21:14:24.537 に答える
1

入力要素が 2 つ以上のフォームに属することができるというwww.w3schools.comサイトのステートメントをサポートする W3C HTML5 仕様を見つけることができませんでした。入力要素の所有者は常に単数形で記述され、リストとして記述されることはありません。さらに、developer.mozilla.orgには、1 つのフォームのみとの入力の関連付けに関する明示的なステートメントがあります。フォーム属性の説明には次のように記載されています。

form: この入力がどの要素の一部であるかを示す文字列。入力は 1 つの形式でのみ可能です。

于 2014-10-02T08:44:53.263 に答える
0

入力フィールドは 1 つのフォームにのみ存在できます。わかりやすくするために、フォーム スコープ内に含めることをお勧めします。

フォームでidだけでなくnameも使用します。html5 はそれをサポートしていますが、古いブラウザーではどうでしょうか? IEはどうですか?

<form action="demo_form.asp" name="form1" id="form1">

<form action="demo_form.asp" name="form2" id="form2">
于 2012-12-29T21:13:49.310 に答える