Foros del Web » Creando para Internet » HTML »

Label en un Radio Button

Estas en el tema de Label en un Radio Button en el foro de HTML en Foros del Web. Me asaltó una duda. ...Condenada duda... traía un cuchillo... ¿Cómo es la manera correcta de asignarle un label a un radio, cuando el name lo ...
  #1 (permalink)  
Antiguo 13/04/2012, 22:48
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 8 meses
Puntos: 1826
Label en un Radio Button

Me asaltó una duda. ...Condenada duda... traía un cuchillo...

¿Cómo es la manera correcta de asignarle un label a un radio, cuando el name lo comparten más de uno... y ¿deben compartir el id? o ese es diferente.

Por ejemplo:
Sexo:
o Mucho
o Poco

¿Es esta la manera de hacerlo?
Código HTML:
Ver original
  1. <label for="Fem">Femenino:</label>
  2. <input type="radio" id="Fem" name="Sexo" value="F">
  3.  
  4. <label for="Mas">Femenino:</label>
  5. <input type="radio" id="Mas" name="Sexo" value="M">

¿Un método get de php lo recibirá correctamente?
  #2 (permalink)  
Antiguo 13/04/2012, 23:42
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: Label en un Radio Button

¡buenas rafa!
el elemento LABEL tiene dos formas de uso. una es la forma que muestras y otra es ubicando dentro de LABEL el contenido y un control de formulario.
Código:
<label>Label: <input ... ></label>
al menos en la especificación html4.01 ambas formas son válidas. la especificación te permite introducir algunos contenidos inline (contenidos que no generan salto de línea antes y después). sólo que en un LABEL no debe haber otro LABEL y debe tener hasta un sólo control de formulario. en el ejemplo, fíjate que LABEL no contiene el atributo for ni el INPUT tiene id.

en tu código de muestra no debe haber problema al enviar los datos al servidor porque el navegador solamente utiliza el atributo name para componer los valores, mas no el id. en este modelo, cuando usas for y id, ambos valores se comparten sin generar ningún tipo de problema porque los atributos son de distintos tipos. la especificación, además de definir los posibles elementos, atributos, y otras cosas, también definen que tipo de dato son los atributos. en el caso del atributo id es de tipo ID — valga la redundancia, pero el primero hace referencia al nombre del atributo (minúscula) y el segundo hace referencia al tipo (mayúscula), — el atributo for es de tipo IDREF (referencia de id). en fin, el atributo de tipo ID es el único que por norma no debe repetir el valor en otro atributo del mismo tipo. en español, quiere decir que puedes repetir tantas veces quiera el valor en el atributo for para distintos elementos LABEL, pero el mismo valor debe existir una sola vez en un atributo id.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 14/04/2012, 00:35
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 8 meses
Puntos: 1826
Respuesta: Label en un Radio Button

Ok. Perfecto.

Está interesante el método de anidar el input, específicamente para los radio buttons, así tal vez funcionan como botonsote display:block por ejemplo.

Gracias.
  #4 (permalink)  
Antiguo 15/04/2012, 18:40
 
Fecha de Ingreso: octubre-2008
Mensajes: 70
Antigüedad: 16 años, 1 mes
Puntos: 2
Respuesta: Label en un Radio Button

Hola. Antes que todo es bueno aclarar que la etiqueta
Código HTML:
label
sirve para que cada campo de formulario puede disponer de su propio título, en consecuencia es: 1 campo de formulario con 1 etiqueta label. Si tienes 20 campos de formulario necesitarás tener 20 etiquetas label.
Puedes colocarlas así:
Cita:
<form action="destino.php" method="post">

<label for="Fem">Femenino:
<input type="radio" id="Fem" name="Sexo" value="F"></label>

<label for="Mas">Masculino:
<input type="radio" id="Mas" name="Sexo" value="M"></label>
</form>
O así

Cita:
<form action="destino.php" method="post">

<label for="Fem">Femenino:</label>
<input type="radio" id="Fem" name="Sexo" value="F">

<label for="Mas">Masculino:</label>
<input type="radio" id="Mas" name="Sexo" value="M">
</form>
Es exactamente lo mismo y mantiene la validación con XHTML 1.0 estricto. En ambos casos cambia el color del "radio" de gris a azul cuando pasas el cursor del mouse sobre la palabra escrita con la etiqueta "label".
Y con respecto al "Radiobutton" es mejor mantener los valores de "id" y "name" con minúsculas, por una cuestión de evitar problemas con php u otro lenguaje de servidor. Y es mejor aclarar con más detalles el valor de "value" y poner el valor de "id" al final, para colocar lo más importante al principio.

Mejor que esto:

Cita:
<input type="radio" id="Mas" name="Sexo" value="M">
es esto:

Cita:
<input type="radio" name="sexo" value="masculino" id="masculino">

Última edición por setenta; 15/04/2012 a las 18:56

Etiquetas: label, php, radio
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:58.