dh:
<form 1>
<input type="hidden" name="url" value="1">
</form 1>
und
<form 2>
<input type="hidden" name="url" value="2">
</form 2>
Ist das erlaubt und gültig?
dh:
<form 1>
<input type="hidden" name="url" value="1">
</form 1>
und
<form 2>
<input type="hidden" name="url" value="2">
</form 2>
Ist das erlaubt und gültig?
Antworten:
Ja, es ist gültig
Das ist gut
<form name="form1">
<input type="hidden" name="url" value="1">
</form>
<form name="form2">
<input type="hidden" name="url" value="2">
</form>
Dies ist ebenfalls in Ordnung und wird im Allgemeinen als Array von Werten interpretiert, z. B. {url: [1, 2]}
abhängig davon, was Ihr Server tut. In einer URL-Codierung sieht es so aus url=1&url=2
.
<form name="form1">
<input type="hidden" name="url" value="1">
<input type="hidden" name="url" value="2">
</form>
Ja.
Darüber hinaus ist es wichtig, wenn Sie mit Optionsfeldgruppen arbeiten.
"Das ist nicht gut" wird in jedem mir bekannten Browser korrekt analysiert. Wenn zwei URLs in der URL-codierten Zeichenfolge angezeigt werden, wird sie als Array behandelt. Versuchen Sie dies in JQuery:
$('<form name="form1">\
<input type="hidden" name="url" value="1">\
<input type="hidden" name="url" value="2">\
</form>').serialize()
und du wirst bekommen: "url=1&url=2"
Ein gut geschriebener Parser für Abfragezeichenfolgen gibt eine JSON-Struktur wie folgt zurück:
{"url":["1", "2"]}
Ist es streng spezifiziert? Nein, aber es wird auch keine mehrzeilige Zeichenfolge erstellt, indem der EOL mit einem Backslash entkommen wird, wie ich es oben getan habe.
Ja - jeder wird nur mit seinen jeweiligen Formularen einreichen.
Wenn Sie sie in derselben Form haben, überschreibt eine die andere und sie ist ungültig.
BEARBEITEN: Wie Mahmoodvcs hervorhob, tritt das Überschreiben nur in einigen Sprachen (wie PHP) auf, da es nicht in HTML selbst enthalten ist.
Um zu testen, ob es gültig ist oder nicht, erstellen Sie Ihre Seite und testen Sie bei W3C hier:
A) Ihr erstes Beispiel ist in Ordnung, da der Zeitpunkt der Einreichung unterschiedlich sein wird:
<form id="1">
<input type="hidden" name="url" value="1">
</form>
<form id="2">
<input type="hidden" name="url" value="2">
</form>
B) Ihr zweites Beispiel ist ebenfalls in Ordnung, aber keine Standardcodierungspraxis:
<form>
<input type="hidden" name="url" value="1">
<input type="hidden" name="url" value="2">
</form>
Java Code 2 extrahiert beide Werte:
Map<String,String[]> parmMap = requestObj.getParameterMap();
String input1 = parmMap.get("url")[0];
String input2 = parmMap.get("url")[1];