« Voltar
em html web

Devo usar id ou name pra identificar meus controles HMTL? Qual a diferença?.

Quando estamos escrevendo código HTML, podemos usar os atributos id ou name para identificar nossos controles.

<input name="nomeInput"/>  
<input id="idInput"/>  

Podemos usar ambos também:

<input name="nomeInput" id="idInput"/>  

Mas qual devemos usar? Sempre os dois? Só um?

Quando usar name

Você deve usar o atributo name em controles que o usuário irá preencher com informações.
Esses controles geralmente ficam dentro de formulários e, quando "submitamos" o formulário, o atributo name é o identificador do seu controle dentro da requisição GET ou POST que o navegador irá fazer(se quiser saber mais sobre o protocolo http e tipos de requisição, dê uma lida nesse, nesse e nesse post).

Geralmente, o name que você dá para o controle é o identificador dele no framework web que você estiver usando.
Por exemplo: no ASP.NET MVC é comum você ter um formulário mais ou menos assim:

<form action="/controller/metodo" method="POST">  
    <input name="campo1" />
    <input name="campo2" />
</form>  

E ter uma Action assim:

public ActionResult Metodo(string campo1, int campo2)  
{
   //faz algo...
}

Quando usar id

Use id quando você precisar identificar um controle para usar com CSS ou Javascript.

O id serve para identificarmos controles e aplicarmos estilos CSS e para manipularmos elementos via Javascript.
Ou seja, você usa o id somente para manipular/trabalhar com controles do lado do cliente(client-side). Ao contrário do name, que você usa pra identificar valores do lado do servidor(server-side).


Quer ganhar 15% de desconto pra gastar na Casa do Código e ainda ficar em dia com as minhas postagem e outras promoções e sorteios legais? Assina minha newsletter: http://gabsferreira.com/newsletter/ (:

Se quiser, curta minha página no Face também! O endereço é https://www.facebook.com/devgabsferreira

comments powered by Disqus