tamaño - formularios en html
¿Todavía se transfieren datos de formulario si la etiqueta de entrada no tiene nombre? (3)
La especificación W3C, si la entiendo correctamente, exige que cada elemento de entrada de formulario tenga un atributo de name
especificado. De lo contrario, ese elemento no se procesará. Source
Por razones de eficiencia, me pregunto si un archivo o texto en un área de texto todavía se transfiere al servidor si omite el atributo de nombre o lo establece en nulo. p.ej
<input type="file" id="file" name="">
<textarea id="text" name="">
Noté que los datos no están disponibles en el servidor si haces esto.
No.
Comprobé esto en todos los navegadores: faltan los campos con el nombre vacío / faltante en la solicitud POST / GET del navegador. No importa si tienen o no tienen ID (mi idea era que los navegadores podrían usar id para el nombre pero no).
no funcionará directamente, pero puede asignarlos a través de llamadas AJAX en JavaScript, realmente no sé si esto realmente tiene alguna aplicación en el mundo real (podría ser la ofuscación de los parámetros que el servidor espera)
teniendo
<form id="login" method="post" action="someurl">
<input id="username" type="text" />
<input id="password" type="password" />
<input type="submit" value="login" />
</form>
JS a procesar sería (usando jQuery para procesar ajax)
$("#login").on("submit",function(ev){
$.post("someurl",{
usrn: $("#username").val,
pwd: $("#password").val
},function(ev){
//this is the callback function that runs when the call is completed successfully
});
}
/*second argument on $.post is and object with data to send in a post request
usrn would be the name of the parameter recived in the server
same for pwd "#username" and "#password" are the id''s html attribute for the field
''.val'' is the jquery object''s attribute in which jquery access the value in the text box
"$()" or it''s equivalent "jQuery()" works like an object constructor that fills
the attributes with the
DOM data that cover the css selector that this function expects as a parameter*/
por favor, el código NOTA puede no ser del todo correcto, ya que no lo he probado, pero la lógica detrás de él debe ser autoexplicativa