2012-09-22 27 views

Respuesta

47

La especificación W3C, si lo entiendo correctamente, exige que cada elemento de entrada de formulario tenga un atributo name especificado. De lo contrario, ese elemento no se procesará. Source

+18

Más exactamente, solo los campos ("controles") que tienen un atributo 'name' contribuyen al conjunto de datos del formulario . Sin ese atributo, el campo se procesará normalmente y el formulario se puede enviar, sin datos de ese campo. No es un error tener un campo sin un atributo 'name'. –

+1

¿Alguien puede citar el HTML5 preciso? –

24

que marcó esta en todos los navegadores - los campos con el nombre vacío/faltante faltan en la POST/GET solicitud 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).

0

no va a funcionar directamente, sino que se puede asignar a través de llamadas AJAX en JavaScript, idk saber realmente si esto realmente tiene ninguna aplicación en el mundo real (uno podría ser la ofuscación de los parámetros que el servidor espera)

tener

<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 proceso 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*/ 

favor NO Es posible que el código TE no sea totalmente correcto ya que no lo he probado, pero la lógica subyacente debería ser autoexplicativo

Cuestiones relacionadas