2011-02-28 17 views
11

"El atributo for del elemento de etiqueta debe hacer referencia a un control de formulario."etiqueta de formulario de validación html5

Honestamente, no entiendo qué pasa con el marcado. He revisado gran parte del sitio del W3 y simplemente no puedo obtenerlo.

¿Ayuda?

HTML:

<form action="process.php" method="post"> 
    <div> 
     <label for="name">Name</label><br /> 
     <input type="text" value="" name="name" /> 
    </div> 
    <div> 
     <label for="email">E-mail</label><br /> 
     <input type="text" value="" name="email" /> 
    </div> 
    <div> 
     <label for="message">Message</label><br /> 
     <textarea name="message" cols="30" rows="4"></textarea> 
    </div> 
    <div> 
     <input type="checkbox" value="yes" name="newsletter" /> 
     <label for="newsletter">Subscribe to newsletter</label> 
    </div> 
    <div> 
     <input type="submit" value="Submit" name="subscribe" /> 
    </div> 
</form> 
+0

Sólo curiosidad: ¿Cómo sabía que tenía un problema? ¿Su formulario no pudo validar? –

+0

¡Sí señor! Siempre valido mis páginas ... y estoy de acuerdo con los hacks y las cosas raras que reciben. – technopeasant

Respuesta

18

Te falta el atributo id.

Así que para solucionarlo, por ejemplo:

<input type="text" value="" name="email" id="email" /> 

Eso es todo. Linky.

+0

pasó de 4 errores a 13. eliminó algunos de los elementos para resolverlos uno por uno. aquí está la validación de solo la entrada de "nombre". http://cl.ly/2L0Q15020N0723180h1V – technopeasant

+1

Se supone que debes poner los atributos 'id' en la' entrada', no en la 'etiqueta'. Ver la página de ejemplo que hice con la que me vinculé a través del validador: http://jsbin.com/alake4/edit Además, no desea tener el atributo 'value' (o' type = "text" ') en la etiqueta 'label'. – thirtydot

+0

¡ah! Ya veo. lo tenía todo mal. ¡gracias por la ayuda! – technopeasant

8

Thirtydot es correcto; hay una identificación extraña en tu forma. He agregado todo. Compruebe esto:

<form action="process.php" method="post"> 
    <div> 
     <label for="name">Name</label><br /> 
     <input type="text" id="name" value="" name="name" /> 
    </div> 
    <div> 
     <label for="email">E-mail</label><br /> 
     <input type="text" id="email" value="" name="email" /> 
    </div> 
    <div> 
     <label for="message">Message</label><br /> 
     <textarea name="message" id="message" cols="30" rows="4"></textarea> 
    </div> 
    <div> 
     <input type="checkbox" id="newsletter" value="yes" name="newsletter" /> 
     <label for="newsletter">Subscribe to newsletter</label> 
    </div> 
    <div> 
     <input type="submit" value="Submit" name="subscribe" /> 
    </div> 
</form> 
Cuestiones relacionadas