Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/03/2011, 12:48
EL_TRITU
 
Fecha de Ingreso: mayo-2007
Mensajes: 54
Antigüedad: 17 años
Puntos: 0
Pregunta Radio buttons

Hola,

En otro hilo(ya cerrado), he visto un código para deseleccionar los radio buttons...lo he adaptado a mi código pero no me funciona.Mi formulario se llama "preguntas", entonces he sustituido el nombre por "var f=document.Preguntas". Tambien he eliminado "var name=obj.name" y en la condición "if(type=='radio)" y por último en la función solo le paso el parámetro "0", algo así onclick="limpiar(0)", todo esto en un boton pero no me hace nada...

Por cierto son grupos de preguntas de cuatro respuestas, cada grupo de radiobuttons tiene un "name=preguntaNº", siendo nº el número en el que estamos.

El código original es:
Código:
<html>
<head>
</head>
<script>
function limpiar(cual, accion){
// Action: 0=Deseleccionar todos 1=Seleccionar todos -1=Invertir seleccion
	var f = document.formulario
	for (var i=0; i<f.elements.length; i++){
		var obj = f.elements[i]
		var name = obj.name
		if (name==cual){
			obj.checked = ((accion==1)? true : ((accion==0)? false : !obj.checked) );
		}
	}
}
</script>
<body>
<form name="formulario">
	<input type="radio" value="1" name="uno"><br>
	<input type="radio" value="1" name="uno">
	<input type="text" name="pepe">
	<a href="javascript:limpiar('uno',0)">limpiar</a>
</form>
</body>
</html>
Y mi código adaptado es:
Código:
function limpiar( accion){
// Action: 0=Deseleccionar todos 1=Seleccionar todos -1=Invertir seleccion
	var f = document.Preguntas;
	for (var i=0; i<f.elements.length; i++){
		var obj = f.elements[i]
		//var name = obj.name
		if (type=='radio'){
			obj.checked = ((accion==1)? true : ((accion==0)? false : !obj.checked) );
		}
	}
        }

Saludos y a ver si alguien me puede ayudar...