Ответ 1
Спецификация W3C, если я ее правильно понимаю, предусматривает, что каждый элемент ввода формы имеет указанный атрибут name
. В противном случае этот элемент не будет обработан. Источник
Для эффективности я задаюсь вопросом, по-прежнему ли файл или текст в текстовой области передается на сервер, если вы опускаете атрибут имени или устанавливаете его в null. например,
<input type="file" id="file" name="">
<textarea id="text" name="">
Я заметил, что данные не доступны на сервере, если вы это сделаете.
Спецификация W3C, если я ее правильно понимаю, предусматривает, что каждый элемент ввода формы имеет указанный атрибут name
. В противном случае этот элемент не будет обработан. Источник
Нет.
Я проверил это во всех браузерах - поля с пустым/отсутствующим именем отсутствуют в запросе POST/GET из браузера. Неважно, имеют ли они или нет идентификатор (я думал, что браузеры могут использовать id для имени, но нет).
он не будет работать напрямую, но вы можете назначить их через вызовы AJAX в JavaScript, idk действительно знает, действительно ли это приложение в реальном мире (можно было бы запутать параметры, ожидаемые сервером)
имеющий
<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 html attribute for the field
'.val' is the jquery object attribute in which jquery access the value in the text box
"$()" or it 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*/
пожалуйста, пожалуйста, код может быть не совсем корректным, так как я его не тестировал, но логика, стоящая за ним, должна быть понятной