2009-06-15 27 views
6
<p> 
    <input type="text" id="search" name="keywords" /> 
    <input type="submit" value="Search" name="Submit" /> 
</p> 

Para el código anterior estaba obteniendo errores de validación, pero una vez que eliminé el id = "buscar" la validación fue buena y sin errores. Pensé que necesitabas una identificación, pero me pregunto si se supone que debe estar allí.¿Es necesario el "id" en una etiqueta de entrada?

+0

¿Qué errores de validación recibió usted? –

+0

Descubrí que todo lo que tenía que hacer era cambiar id = "buscar" por otro nombre porque había otro tipo de entrada de búsqueda con el mismo nombre. Entonces todo lo que quería que hiciera era cambiarle el nombre. – Holly

Respuesta

11

¿Tiene algún otro elemento con esa identificación en el documento? Esa sería la única razón por la que falla la validación. Los ID deben ser únicos en el documento; si los tiene en otro lado, no serían válidos.

Los ID son buenos cuando planeas hacer algún tipo de trabajo del lado del cliente sobre el elemento, ya que un elemento que tiene un ID puede ser recuperado fácil y rápidamente por Javascript. También es bueno cuando usa elementos <label>, ya que puede usar el atributo for (que toma una ID) para apuntar al campo.

Aparte de eso, realmente no importa.

+1

El objetivo de la etiqueta es la razón principal por la que los uso. Odio odiar sitios web que me hagan clic en el botón de radio o en la casilla de verificación. –

+0

No, no hay nada más con esa identificación. Pensé que ese era el caso, pero no estaba 100% seguro. Así que simplemente lo eliminé y está bien. ¡Gracias! – Holly

3

No necesita el atributo ID. El atributo de nombre es el que se pasa.

+1

Esto es incorrecto. En realidad, es al revés: http://www.devguru.com/technologies/xhtml/QuickRef/xhtml_attribute_id.html –

-4

Daniel tiene razón. Una etiqueta para atributo está asociada con el atributo de nombre de una entrada. De esta forma, si selecciona una etiqueta con for = "first_name", seleccionará la entrada con name = "first_name".

+1

Esta respuesta es realmente incorrecta.

Cuestiones relacionadas