cioè .:È valido avere due elementi di input con lo stesso nome?
<form 1>
<input type="hidden" name="url" value="1">
</form 1>
e
<form 2>
<input type="hidden" name="url" value="2">
</form 2>
È questo il ammessi e valida?
cioè .:È valido avere due elementi di input con lo stesso nome?
<form 1>
<input type="hidden" name="url" value="1">
</form 1>
e
<form 2>
<input type="hidden" name="url" value="2">
</form 2>
È questo il ammessi e valida?
Sì, nel tuo caso, è valido. Considerate questo:
Questo è un bene
<form name="form1">
<input type="hidden" name="url" value="1">
</form>
<form name="form2">
<input type="hidden" name="url" value="2">
</form>
questo non è buono
<form name="form1">
<input type="hidden" name="url" value="1">
<input type="hidden" name="url" value="2">
</form>
perché il voto negativo? –
È valido. Non creerà confusione per il linguaggio lato server (anche PHP, con le sue convenzioni per i nomi dei campi che condividono un nome, gestirà in modo coerente e prevedibile più input che non usano quella convenzione). Non creerà confusione per JavaScript (che presenterà gli elementi come una raccolta e ** non ** ignorerà uno di essi). È/potrebbe/creare confusione per gli autori che scrivono codice senza sapere cosa stanno facendo, ma va bene per le specifiche. – Quentin
@David Dorward: Grazie per averlo spiegato, ho rimosso quella parte. –
Sì.
Inoltre, è essenziale se si tratta di gruppi di pulsanti di opzione.
Esattamente. O con le caselle di controllo, nel qual caso puoi mettere [] alla fine "url []" e crea una matrice da raccogliere. –
@Kerry - Questo è un PHPism. La maggior parte delle librerie di manipolazione di forme sono abbastanza felici di non avere nomi speciali per gruppi di controlli. – Quentin
Ah, buono a sapersi. –
Sì - ognuno verrà inviato solo con le rispettive forme.
Se li hai nella stessa forma, uno sostituirà l'altro e non è valido.
Ti sbagli. Se si hanno più ingressi con lo stesso nome, uno * non * sostituisce l'altro. Tutti gli input verranno aggiunti al corpo della richiesta nell'ordine in cui appaiono in html. Ed è valido: [modulo HTML con più elementi di controllo nascosti con lo stesso nome] (http://stackoverflow.com/questions/452066/html-form-with-multiple-hidden-control-elements-of-the-same- nome) – Mahmoodvcs
@Mahmoodvcs: questo non è assolutamente vero. Se il modulo è pubblicato su un servizio PHP, vince l'ultimo valore. Se desideri assegnare più valori a un nome, ogni nome deve terminare con "[]". –
Qui stiamo parlando di HTML, non di PHP. – Mahmoodvcs
Per verificare se è valido o no, creat pagina di e test al W3C qui:
E spero che il validatore sia privo di bug :-) –
"Questo non è buono" analizza correttamente su ogni browser che conosco; se due url compaiono nella stringa codificata dell'URL, saranno trattati come una matrice. Prova questo in JQuery:
$('<form name="form1">\
<input type="hidden" name="url" value="1">\
<input type="hidden" name="url" value="2">\
</form>').serialize()
e si otterrà: "url=1&url=2"
una query stringa di parser ben scritto restituirà una struttura di JSON come questo:
{"url":["1", "2"]}
E 'rigorosamente spec? No, ma nessuno dei due sta creando una stringa multi-riga evadendo l'EOL con una barra rovesciata, come ho fatto sopra.
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];
Eventuali duplicati di [form HTML con più elementi di controllo nascosto con lo stesso nome] (http://stackoverflow.com/questions/452066/html-form-with-multiple-hidden-control-elements-of -lo stesso nome) –