es decir .:¿Es válido tener dos elementos de entrada con el mismo nombre?
<form 1>
<input type="hidden" name="url" value="1">
</form 1>
y
<form 2>
<input type="hidden" name="url" value="2">
</form 2>
Es esto permitido y válida?
es decir .:¿Es válido tener dos elementos de entrada con el mismo nombre?
<form 1>
<input type="hidden" name="url" value="1">
</form 1>
y
<form 2>
<input type="hidden" name="url" value="2">
</form 2>
Es esto permitido y válida?
Sí, en su caso, es válido. Considere esto:
Esto es bueno
<form name="form1">
<input type="hidden" name="url" value="1">
</form>
<form name="form2">
<input type="hidden" name="url" value="2">
</form>
esto no es bueno
<form name="form1">
<input type="hidden" name="url" value="1">
<input type="hidden" name="url" value="2">
</form>
¿por qué el voto hacia abajo? –
Es válido. No creará confusión para el lenguaje del lado del servidor (incluso PHP, con sus convenciones para nombrar campos que comparten un nombre, manejará de manera consistente y predecible múltiples entradas que no usan esa convención). No creará confusión para JavaScript (que presentará los elementos como una colección y ** not ** ignorará uno de ellos). Es/podría/crear confusión para los autores que escriben código sin saber lo que están haciendo, pero está bien por la especificación. – Quentin
@David Dorward: Gracias por explicar eso, eliminé esa parte. –
Sí.
Más, es esencial si se trata de grupos de botones de opción.
Exactamente. O con casillas de verificación, en cuyo caso puede poner [] al final "url []" y crea una matriz para ser recogido. –
@Kerry - Eso es un PHPismo. La mayoría de las bibliotecas de manejo de formularios están felices de no tener nombres especiales para grupos de controles. – Quentin
Ah, es bueno saberlo. –
Sí, cada una solo se enviará con sus respectivos formularios.
Si los tiene de la misma forma, uno sobrescribirá al otro y no es válido.
Estás equivocado. Si tiene varias entradas con el mismo nombre, una * no * anulará la otra. Todas las entradas se agregarán al cuerpo de la solicitud en el orden en que aparecen en html. Y es válido: [Formulario HTML con múltiples elementos de control ocultos del mismo nombre] (http://stackoverflow.com/questions/452066/html-form-with-multiple-hidden-control-elements-of-the-same- nombre) – Mahmoodvcs
@Mahmoodvcs: Esto no es estrictamente cierto. Si el formulario se publica en un servicio PHP, entonces el último valor gana. Si desea asignar múltiples valores a un nombre, cada nombre debe terminar en '[]'. –
Estamos hablando de HTML aquí, no de PHP. – Mahmoodvcs
Para probar si es válido o no, creat que la página y la prueba en el W3C aquí:
Y espero que el validador no tenga errores :-) –
"Esto no es bueno" analiza correctamente en cada navegador que conozco; si aparecen dos url en la cadena codificada de url, se tratará como una matriz. Pruebe esto en jQuery:
$('<form name="form1">\
<input type="hidden" name="url" value="1">\
<input type="hidden" name="url" value="2">\
</form>').serialize()
y obtendrá: "url=1&url=2"
una cadena de consulta analizador bien escrito volverá una estructura JSON como esto:
{"url":["1", "2"]}
Es estrictamente las especificaciones? No, pero tampoco está creando una cadena de varias líneas escapando de la EOL con una barra invertida, como hice anteriormente.
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];
duplicado posible de [formulario HTML con múltiples elementos de control oculto del mismo nombre] (http://stackoverflow.com/questions/452066/html-form-with-multiple-hidden-control-elements-of -el mismo nombre) –