効率を上げるために、name属性を省略するか、nullに設定すると、textarea内のファイルまたはテキストがまだサーバーに転送されるのではないかと考えています。例えば
<input type="file" id="file" name="">
<textarea id="text" name="">
これを行うと、サーバーでデータが利用できないことに気付きます。
W3C仕様では、正しく理解できれば、すべてのフォーム入力要素にname
属性を指定することが義務付けられています。そうでない場合、その要素は処理されません。 ソース
番号。
すべてのブラウザーでこれを確認しました-名前が空または欠落しているフィールドは、ブラウザーからのPOST/GET要求にありません。 idを持っているかどうかは関係ありません(ブラウザーは名前にidを使用するかもしれませんが、noは使用するかもしれないと思っていました)。
それは直接動作しませんが、JavaScriptでAJAX呼び出しを介してそれらを割り当てることができます。サーバーが期待します)
持っている
<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*/
私はそれをテストしていないので、コードが完全に正しいわけではないことに注意してくださいが、その背後にあるロジックは自明であるべきです