Par souci d'efficacité, je me demande si un fichier ou un texte dans une zone de texte est toujours transféré sur le serveur si vous omettez l'attribut name ou si vous le définissez à null. par exemple
<input type="file" id="file" name="">
<textarea id="text" name="">
Je remarque que les données ne sont pas disponibles sur le serveur si vous faites cela.
Si je comprends bien, la spécification W3C exige que chaque élément d’entrée de formulaire ait un attribut name
spécifié. Sinon, cet élément ne sera pas traité. La source
Non.
J'ai vérifié cela dans tous les navigateurs - les champs avec un nom vide/manquant sont manquants dans la demande POST/GET du navigateur. Peu importe qu'ils aient ou non un identifiant (je pensais que les navigateurs pourraient utiliser un identifiant comme nom, mais non).
cela ne fonctionnera pas directement mais vous pouvez les assigner via des appels AJAX en JavaScript, idk sait vraiment si cela a vraiment une application dans le monde réel (on pourrait obscurcir les paramètres que le serveur attend)
ayant
<form id="login" method="post" action="someurl">
<input id="username" type="text" />
<input id="password" type="password" />
<input type="submit" value="login" />
</form>
JS à traiter serait (Utilisant jQuery pour traiter 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*/
veuillez noter que le code n'est peut-être pas tout à fait correct car je ne l'ai pas testé, mais la logique derrière cela devrait être explicite.