Foros del Web » Programando para Internet » Javascript »

checkbox oculto - problemas ie6

Estas en el tema de checkbox oculto - problemas ie6 en el foro de Javascript en Foros del Web. Queridos amigos, He buscado por los foros pero no he encontrado algun post que trate este tema. Vamos a ponernos en situación: Quiero tener un ...
  #1 (permalink)  
Antiguo 02/04/2010, 04:46
 
Fecha de Ingreso: septiembre-2008
Mensajes: 4
Antigüedad: 16 años, 3 meses
Puntos: 0
Pregunta checkbox oculto - problemas ie6

Queridos amigos,

He buscado por los foros pero no he encontrado algun post que trate este tema. Vamos a ponernos en situación:

Quiero tener un formulario con checkbox ocultos que funcionen exactamente igual que visibles. Un código de ejemplo es el siguiente:

Código:
<form name="test1" method="get" action="">
<input type="checkbox" id="cas1" name="cas1" style="display: none" onclick="alert('click casilla 1')">
<label for="cas1">Label 1</label><br />

<input type="checkbox" id="cas2" name="cas2" onclick="alert('click casilla 2')">
<label for="cas2">Label 2</label><br />
<input type="submit" value="Envia">
</form>
En firefox funciona perfectamente. Se lanza el evento "onclick" del checkbox y al enviar el formulario aparecen los parametros activos en la url.

En ie6 no se activa el onclick y el envío del formulario generalmente no me pasa los parámetros por URL, aunque alguna vez parece que sí ha funcionado.

Después de muchas pruebas, he optado por realizar un workarround compatible con FF y ie6 (sin document.all ni cosas así), de manera que el código web pasa a ser:
Código:
<form name="test2" method="get" action="">
<input type="checkbox" id="cas3" name="cas3" style="display: none">
<span onclick="canvia_class('3')">Label 1</span><br />

<input type="checkbox" id="cas4" name="cas4">
<span onclick="canvia_class('4')">Label 2</span><br />
<input type="submit" value="Envia">
</form>

<script type="text/javascript">
function canvia_class(id){
	var estat=document.getElementById('cas'+id).checked;
	if (estat==true){
		document.getElementById('cas'+id).checked=false;
	}else{
		document.getElementById('cas'+id).checked=true;
	}
        alert('click casilla '+id);
}
</script>
Así funciona correctamente en FF y ie6, no sé en el resto de navegadores, pero pierdo el uso de label for="".

Imagino que la mejor solución sería implementar algun script no intrusivo en mi página, pero de momento no tengo intención de hacerlo. Sin embargo, existe alguna forma mejor de plantear esto, por ejemplo manteniendo las etiquetas label? Como lo haría alguno de los cracks de foros del web?

Muchas gracias de antemano!

xavi

Etiquetas: checkbox, oculto
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 04:51.