Foros del Web » Programando para Internet » Javascript »

Examen con imput radio

Estas en el tema de Examen con imput radio en el foro de Javascript en Foros del Web. Hola que tal, soy nuevo en esto y mi idea es hacer un mini "examen" utilizando imput radio. este es mo codigo. Código HTML: <script ...
  #1 (permalink)  
Antiguo 16/06/2009, 23:42
Avatar de sebaweb  
Fecha de Ingreso: abril-2009
Mensajes: 95
Antigüedad: 15 años
Puntos: 0
Examen con imput radio

Hola que tal, soy nuevo en esto y mi idea es hacer un mini "examen" utilizando imput radio. este es mo codigo.

Código HTML:
<script language="javascript">

function cont() {
	var c=0;
	if (document.evaluacion.radio1[0].checked)
		{
		c++;
		}
	if (document.evaluacion.radio2[2].checked)
		{
		c++;
		}
		alert('tu resultado es ' + c + ' sobre 2');
}

</script>

</head><body>

<form name="evaluation" method="">

<label>1. ¿Pregunta 1?</label>
<p>
<input type="radio" name="radio1" id="radio1" />Rta 1<br />
<input type="radio" name="radio1" id="radio1" />Rta 2<br />
<input type="radio" name="radio1" id="radio1" />Rta 3<br />
<input type="radio" name="radio1" id="radio1" />Rta 4<br />
</p><hr />
<label>2. ¿Pregunta 2?</label>
<p>
<input type="radio" name="radio2" id="radio2" />Rta 1<br />
<input type="radio" name="radio2" id="radio2" />Rta 2<br />
<input type="radio" name="radio2" id="radio2" />Rta 3<br />
<input type="radio" name="radio2" id="radio2" />Rta 4<br />
</p><hr />
<input type="button" name="result" id="result" value="Result" onclick="cont()" />


</form> 
Al hacer click en el boton tendria que salir el alerta con el contador pero no hace nada el boton, me podrian ayudar?

muchas gracias =D
  #2 (permalink)  
Antiguo 17/06/2009, 00:17
Avatar de sebaweb  
Fecha de Ingreso: abril-2009
Mensajes: 95
Antigüedad: 15 años
Puntos: 0
ayuda con imput radio

Hola que tal, soy nuevo en esto y mi idea es hacer un mini "examen" utilizando imput radio. este es mo codigo.

Código HTML:
<script language="javascript">

function cont() {
	var c=0;
	if (document.evaluacion.radio1[0].checked)
		{
		c++;
		}
	if (document.evaluacion.radio2[2].checked)
		{
		c++;
		}
		alert('tu resultado es ' + c + ' sobre 2');
}

</script>

</head><body>

<form name="evaluation" method="">

<label>1. ¿Pregunta 1?</label>
<p>
<input type="radio" name="radio1" id="radio1" />Rta 1<br />
<input type="radio" name="radio1" id="radio1" />Rta 2<br />
<input type="radio" name="radio1" id="radio1" />Rta 3<br />
<input type="radio" name="radio1" id="radio1" />Rta 4<br />
</p><hr />
<label>2. ¿Pregunta 2?</label>
<p>
<input type="radio" name="radio2" id="radio2" />Rta 1<br />
<input type="radio" name="radio2" id="radio2" />Rta 2<br />
<input type="radio" name="radio2" id="radio2" />Rta 3<br />
<input type="radio" name="radio2" id="radio2" />Rta 4<br />
</p><hr />
<input type="button" name="result" id="result" value="Result" onclick="cont()" />


</form> 
Al hacer click en el boton tendria que salir el alerta con el contador pero no hace nada el boton, me podrian ayudar?

muchas gracias =D
  #3 (permalink)  
Antiguo 17/06/2009, 01:40
Avatar de KiraSakuya  
Fecha de Ingreso: junio-2009
Mensajes: 67
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: ayuda con imput radio

En primer lugar nunca deeberias tener varios elementos de una pagina con el mismo id, eso solo traera conflictos

Mira este ejemplo a ver si te ayuda :)

http://www.desarrolloweb.com/articulos/1006.php
  #4 (permalink)  
Antiguo 17/06/2009, 02:08
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: ayuda con imput radio

Tienes algunos errores muy obios. Por ejemplo, para acceder a un formulario mediante el documento tienes que usar forms antes del nombre del formulario:

document.forms['evaluacion']['radio1'][0].checked

Pero antes de ese tienes otro, en tu Js pones evaluacion, pero tu formulario en realidad se llama evaluation. Por lo que pare empezar el formulario, sin importar que la sintaxis esté bien, nunca va a ser localizado.

Aquí es como lo he cambiado y quedo bien:

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2.        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
  4.     <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  5.     <title>Untitled</title>
  6.     <script language="javascript">
  7.  
  8. function cont() {
  9.     var c=0;
  10.     if (document.forms['evaluacion']['radio1'][0].checked)
  11.         {
  12.         c++;
  13.         }
  14.     if (document.forms['evaluacion']['radio2'][2].checked)
  15.         {
  16.         c++;
  17.         }
  18.         alert('tu resultado es ' + c + ' sobre 2');
  19. }
  20.  
  21. </head>
  22.  
  23. <form name="evaluacion" method="">
  24.  
  25. <label>1. ¿Pregunta 1?</label>
  26. <p>
  27. <input type="radio" name="radio1" id="radio1" />Rta 1<br />
  28. <input type="radio" name="radio1" id="radio1" />Rta 2<br />
  29. <input type="radio" name="radio1" id="radio1" />Rta 3<br />
  30. <input type="radio" name="radio1" id="radio1" />Rta 4<br />
  31. </p><hr />
  32. <label>2. ¿Pregunta 2?</label>
  33. <p>
  34. <input type="radio" name="radio2" id="radio2" />Rta 1<br />
  35. <input type="radio" name="radio2" id="radio2" />Rta 2<br />
  36. <input type="radio" name="radio2" id="radio2" />Rta 3<br />
  37. <input type="radio" name="radio2" id="radio2" />Rta 4<br />
  38. </p><hr />
  39. <input type="button" name="result" id="result" value="Result" onclick="cont()" />
  40.  
  41.  
  42. </form>
  43. </body>
  44. </html>

Espero que no estés pensando hacer esto para un examen de verdad. Sería bien fácil "hackearlo" y sacar una calificación perfecta.
__________________
twitter: @imbuzu
  #5 (permalink)  
Antiguo 17/06/2009, 06:16
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Examen con imput radio

Intenta llamar las cosas por su nombre....

Si tienes evaluation porque le pides evaluacion... menos mal que no has puesto el acento!!!!

No te preocupes, estas tonterias nos hacen perder el tiempo a todos... usa el firefox y su consola de errores y rápidamente veras que puede estar pasando!!!

Quim
  #6 (permalink)  
Antiguo 17/06/2009, 11:28
Avatar de sebaweb  
Fecha de Ingreso: abril-2009
Mensajes: 95
Antigüedad: 15 años
Puntos: 0
Respuesta: ayuda con imput radio

no, simplemente estoy haciendo un examen para empezar a manejar javascript.. no estoy en condiciones de hacer un examen real =P.. muchas gracias
  #7 (permalink)  
Antiguo 17/06/2009, 11:40
Avatar de sebaweb  
Fecha de Ingreso: abril-2009
Mensajes: 95
Antigüedad: 15 años
Puntos: 0
Respuesta: Examen con imput radio

muchas gracias!!! fue un error mio de sintaxis,, tenia sueño jejeje grracias! ahora funciona
  #8 (permalink)  
Antiguo 17/06/2009, 12:07
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: ayuda con imput radio

Ah, en todo caso, es buen ejercicio. Espero que te haya servido la respuesta que te he dado...
__________________
twitter: @imbuzu
  #9 (permalink)  
Antiguo 17/06/2009, 12:18
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: Examen con imput radio

Por que pones el mismo tema dos veces?
__________________
twitter: @imbuzu
  #10 (permalink)  
Antiguo 17/06/2009, 12:31
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: Examen con imput radio

Temas unidos.

Saludos,
  #11 (permalink)  
Antiguo 18/06/2009, 00:27
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Examen con imput radio

Buen ejercicio para empezar....


Al unir los temas parece que hay respuestas repetidas.... cuando yo conteste no estaban las otras...

Quim
  #12 (permalink)  
Antiguo 08/12/2010, 05:10
 
Fecha de Ingreso: diciembre-2010
Mensajes: 3
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Examen con imput radio

Cita:
Iniciado por quimfv Ver Mensaje
Buen ejercicio para empezar....


Al unir los temas parece que hay respuestas repetidas.... cuando yo conteste no estaban las otras...

Quim
Excelente enlace... me vino como anillo al dedo...
yo no soy para nada un perito en esto.. sólo quiero dar clases de español en el extranjero y monté una pequeña página para promocionarlas... asi que quería hacer un pequeño test para determinar el nivel de español del potencial alumno.

qui van mis preguntas...

1.- Es posible que al terminar el test y clicar el boton "result" se informe, en el mismo cuadro,... que nivel de español tiene la persona?
por ejemplo
de 0 a 2 respuestas positivas = nivel básico
de 3 a 5 respuestas positivas = nivel semi-intermedio
de 6 a 8 respuestas positivas = nivel intermedio

2.- es posible que se marquen las respuestas positivas al final?

saludos... y sea lo que sea
Muchas Gracias!! esto ya ha sido de gran ayuda..
Alvaro
  #13 (permalink)  
Antiguo 08/12/2010, 08:32
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Examen con imput radio

este mismo tema ha sido tratado hace poco y he tomando algo del código, para adaptarlo a que pretendes hacer
Cita:
<html>
<head>
<script type="text/javascript">
var corr = ['b', 'c'];
var niv = {0 : 'Bajo', 1 : 'Medio', 2 : 'Avanzado'}
function fnc() {
var aciertos = 0;
var radio_checked = -1;
for(var j = 0, rad = document.getElementsByTagName('input'); j < rad.length-1; j++){
if(rad[j].checked) {
radio_checked++;
if (rad[j].value == corr[radio_checked]) {
document.getElementById(rad[j].parentNode.id).style.backgroundColor = '#9BFFA0';
aciertos++;
} else {
document.getElementById(rad[j].parentNode.id).style.backgroundColor = '#FF8C8C';
}
}
}
document.getElementById('nivel').innerHTML = 'Nivel: ' + niv[aciertos];
}
</script>
</head>
<body>
<form>
<label for="p1" id="rad1">Pregunta 1
<input type="radio" value="a" name="p1" />a
<input type="radio" value="b" name="p1" />b
<input type="radio" value="c" name="p1" />c
</label>
<br />
<label for="p2" id="rad0">Pregunta 2
<input type="radio" value="a" name="p2" />a
<input type="radio" value="b" name="p2" />b
<input type="radio" value="c" name="p2" />c
</label>
<div id="nivel"></div>
<input type="button" onclick="fnc()" value="comprobar" />
</form>
</body>
</html>
  #14 (permalink)  
Antiguo 08/12/2010, 12:59
 
Fecha de Ingreso: diciembre-2010
Mensajes: 3
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Examen con imput radio

Cita:
Iniciado por IsaBelM Ver Mensaje
este mismo tema ha sido tratado hace poco y he tomando algo del código, para adaptarlo a que pretendes hacer
Waw!!! te pasaste.. gracias!!
voy a trabajar sobre eso...
te cuento como me va!
  #15 (permalink)  
Antiguo 08/12/2010, 16:40
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 1 mes
Puntos: 1826
Respuesta: Examen con imput radio

Oye... En mi humilde opinión...

de 0 a 2 respuestas positivas = Pudo no entender nada, y darle click por accidente
de 3 a 5 respuestas positivas = Básico
de 6 a 8 respuestas positivas = Intermedio

Lo de semimediointermedio, como que no queda.
  #16 (permalink)  
Antiguo 09/12/2010, 05:44
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Examen con imput radio

seguro que esos rangos son a modo de ejemplo, espero!! por que si no es así pudiera ser que yo no pasara del nivel básico
  #17 (permalink)  
Antiguo 09/12/2010, 21:25
 
Fecha de Ingreso: diciembre-2010
Mensajes: 3
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Examen con imput radio

Cita:
Iniciado por IsaBelM Ver Mensaje
seguro que esos rangos son a modo de ejemplo, espero!! por que si no es así pudiera ser que yo no pasara del nivel básico
Jajaja.. claro, es modo de ejemplo... gracias por la acotación!!
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 20:49.