Foros del Web » Programando para Internet » Javascript »

deseleccionar input radio

Estas en el tema de deseleccionar input radio en el foro de Javascript en Foros del Web. Que tal, sigo con mi formulario y quiero hacer algo para que quede mas "profesional" al hacer click en un boton salta un alert con ...
  #1 (permalink)  
Antiguo 17/06/2009, 21:44
Avatar de sebaweb  
Fecha de Ingreso: abril-2009
Mensajes: 95
Antigüedad: 15 años
Puntos: 0
deseleccionar input radio

Que tal, sigo con mi formulario y quiero hacer algo para que quede mas "profesional"

al hacer click en un boton salta un alert con el resultado del cuestionario realizado con input radio. al aceptar este alert quiero que los radio vuelvan a su estado original y no queden seleccionados.

Pense en un evento onclick sobre el boton pero no me sale la sintaxis, me podrian ayudar?
  #2 (permalink)  
Antiguo 17/06/2009, 23:34
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
Puntos: 1485
Respuesta: deseleccionar input radio

muestranos el codigo que tienes para deseleccionar los radios. despues de todo, lo que se necesita es un bucle que recorra por todos los radios y asignes false a la propiedad checked.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 18/06/2009, 00:14
Avatar de sebaweb  
Fecha de Ingreso: abril-2009
Mensajes: 95
Antigüedad: 15 años
Puntos: 0
Respuesta: deseleccionar input radio

si, aca te dejo el codigo..

Código HTML:
<form name="evaluation" id="evaluation" method="">

<!-- NAME -->
<label class="question">Ingrese su nombre:</label><br />
<input type="text" name="name" id="name" class="inputname" /><p></p>

<!-- PREGUNTAS -->
<label class="question">1. ¿Pregunta 1?</label>
<p>
<input type="radio" name="radio1" />Rta 1 correcta<br />
<input type="radio" name="radio1" />Rta 2<br />
<input type="radio" name="radio1" />Rta 3<br />
<input type="radio" name="radio1" />Rta 4<br />
</p><hr />
<label class="question">2. ¿Pregunta 2?</label>
<p>
<input type="radio" name="radio2" />Rta 1<br />
<input type="radio" name="radio2" />Rta 2<br />
<input type="radio" name="radio2" />Rta 3 correcta<br />
<input type="radio" name="radio2" />Rta 4<br />
</p><hr />
<label class="question">1. ¿Pregunta 1?</label>
<p>
<input type="radio" name="radio3" />Rta 1<br />
<input type="radio" name="radio3" />Rta 2 correcta<br />
<input type="radio" name="radio3" />Rta 3<br />
<input type="radio" name="radio3" />Rta 4<br />
</p><hr />

<!-- RESULT -->
<input type="button" name="result" id="result" value="Result" onclick="cont();" />

</form> 
y este es el de javascript
Código:
function foco() {
	document.evaluation.name.focus;
}

function cont() {
	
	var nombre=document.evaluation.name.value;
	var c=0;
	if (document.evaluation.radio1[0].checked)
		{
			c++;
		}
	if (document.evaluation.radio2[2].checked)
		{
			c++;
		}
	if (document.evaluation.radio3[1].checked)
		{
			c++;
		}
	alert(nombre + ' ha respondido ' + c + ' preguntas correctas sobre 3');
	document.getElementById('name').value="";
}

espero que me puedas ayudar y perdon por la desprolijidad!
  #4 (permalink)  
Antiguo 18/06/2009, 09:01
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
Puntos: 1485
Respuesta: deseleccionar input radio

creo que la forma que inicialmente tenia pensado ejerce mas trabajo de lo que realmente se necesita. es decir, no hay necesidad de recorrer por todos los radios ya que en un grupo de radio solamente es posible una seleccion. dado esta teoria, bastaria con recorrer cada grupo de radio y forzar una seleccion en al menos unos de los radios del grupo, y finalmente deseleccionarlo. el resultado es que ninguno de los radios queda seleccionado para un dicho grupo. agrega el siguiente codigo al final de tu funcion cont:

Código:
for(var i = 1; i < 4; i++){
// forzar seleccion en primer radio;
document.evaluation['radio'+i][0].checked = true;
// deseleccionar el mismo radio;
document.evaluation['radio'+i][0].checked = false;
}
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 18/06/2009, 11:08
Avatar de sebaweb  
Fecha de Ingreso: abril-2009
Mensajes: 95
Antigüedad: 15 años
Puntos: 0
Respuesta: deseleccionar input radio

buenisimooooo, la verdad me salvaste..

espero poder algun dia ser yo tambien el que ayude a los demas y simpere preguntar jeje gracias por tu ayuda!!!
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 21:52.