効率を上げるために、name属性を省略したり、nullに設定したりした場合でも、テキストエリア内のファイルまたはテキストがサーバーに転送されるのではないかと思います。例えば
<input type="file" id="file" name="">
<textarea id="text" name="">
これを行うと、サーバーでデータを利用できないことに気付きました。
W3C 仕様は、私が正しく理解している場合、すべてのフォーム入力要素にname
属性が指定されていることを義務付けています。そうしないと、その要素は処理されません。ソース
いいえ。
私はすべてのブラウザーでこれをチェックしました - ブラウザーからの POST/GET リクエストに、名前が空または欠落しているフィールドがありません。id があるかどうかは問題ではありません (私の考えでは、ブラウザは名前に id を使用する可能性がありますが、使用しません)。
直接は機能しませんが、JavaScript で AJAX 呼び出しを介してそれらを割り当てることができます。idk は、これが現実の世界で実際にアプリケーションを持っているかどうかを本当に知っています (1 つは、サーバーが期待するパラメーターの難読化である可能性があります)。
持つ
<form id="login" method="post" action="someurl">
<input id="username" type="text" />
<input id="password" type="password" />
<input type="submit" value="login" />
</form>
処理するJSは(jQueryを使用して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*/
テストしていないため、コードが完全に正しいとは限らないことに注意してください。ただし、その背後にあるロジックは一目瞭然です。