すなわち:
<form 1>
<input type="hidden" name="url" value="1">
</form 1>
そして
<form 2>
<input type="hidden" name="url" value="2">
</form 2>
これは許可され有効ですか?
はい有効です
これは良い
<form name="form1">
<input type="hidden" name="url" value="1">
</form>
<form name="form2">
<input type="hidden" name="url" value="2">
</form>
これも問題ありません。通常は値の配列として解釈されます。 {url: [1, 2]}
、サーバーの動作に応じて。 URLエンコーディングでは、url=1&url=2
。
<form name="form1">
<input type="hidden" name="url" value="1">
<input type="hidden" name="url" value="2">
</form>
はい。
さらに、ラジオボタングループを扱う場合は不可欠です。
「これは良くない」は、私が知っているすべてのブラウザで正しく解析されます。 URLエンコードされた文字列に2つのURLが含まれている場合、配列として扱われます。 JQueryでこれを試してください。
$('<form name="form1">\
<input type="hidden" name="url" value="1">\
<input type="hidden" name="url" value="2">\
</form>').serialize()
取得します:"url=1&url=2"
適切に記述されたクエリ文字列パーサーは、次のようなjson構造を返します。
{"url":["1", "2"]}
厳密な仕様ですか?いいえ、しかしどちらも、上記のようにEOLをバックスラッシュでエスケープすることで複数行の文字列を作成します。
はい-それぞれがそれぞれのフォームでのみ送信します。
同じフォームにある場合、一方が他方をオーバーライドし、無効になります。
有効かどうかをテストするには、ページを作成して、ここでW3Cでテストします。
A)
< form 1>
< input type="hidden" name="url" value="1">
< /form 1>
and
< form 2>
< input type="hidden" name="url" value="2">
< /form 2>
is Okay,beacuse forms submiting time will be different
B)
< form 1>
< input type="hidden" name="url" value="1">
< input type="hidden" name="url" value="2">
< /form 1>
is also okay, but not standard coding practice
Java Code two extract both values ::
Map<String,String[]> parmMap = requestObj.getParameterMap();
String input1 = parmMap.get("url")[0];
String input2 = parmMap.get("url")[1];