É uma marcação válida e é válida para a especificação HTML / HTTP? Se eu quisesse ter
<form>
<input name="email" />
<input name="email" />
<input name="email" />
</form>
isso é válido?
É uma marcação válida e é válida para a especificação HTML / HTTP? Se eu quisesse ter
<form>
<input name="email" />
<input name="email" />
<input name="email" />
</form>
isso é válido?
Respostas:
Conforme declarado no SO :
Os navegadores estão bem com isso. No entanto, como a biblioteca de aplicativos analisa isso pode variar.
Os programas devem agrupar itens nomeados de forma idêntica. Embora a especificação HTML não diga isso explicitamente, ela está implicitamente declarada na documentação em caixas de seleção:
"Várias caixas de seleção em um formulário podem compartilhar o mesmo nome de controle. Assim, por exemplo, as caixas de seleção permitem que os usuários selecionem vários valores para a mesma propriedade."
Em uma nota lateral, no PHP você pode ter campos de formulário com o mesmo nome se usar a sintaxe arry do PHP para o nome do campo:
<form>
<input name="email[]" />
<input name="email[]" />
<input name="email[]" />
</form>
Isso fará com que o navegador para enviar mais os campos do formulário em uma sintaxe que o PHP irá usar para preencher uma matriz para esses campos: $_REQUEST['email']
. Se você usa PHP, esta é a maneira preferida de lidar com isso.
HTML5
A seção não normativa 4.10.1.3 Configurando um formulário para se comunicar com um servidor diz explicitamente que é válido:
Vários controles podem ter o mesmo nome; por exemplo, aqui damos a todas as caixas de seleção o mesmo nome e o servidor distingue qual caixa de seleção foi marcada ao ver quais valores são enviados com esse nome - como os botões de opção, eles também recebem valores exclusivos com o atributo value.
A versão normativa disso é simplesmente que não é proibida em nenhum lugar, e o algoritmo de envio de formulários diz exatamente qual solicitação deve ser gerada:
application/x-www-form-urlencoded
loop sobre o "conjunto de dados do formulário" e cuspir vários key=val
https://www.w3.org/TR/html5/forms.html#url-encoded-form-data