Ver Mensaje Individual
  #7 (permalink)  
Antiguo 06/09/2010, 14:39
Avatar de neodani
neodani
 
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 8 meses
Puntos: 20
Respuesta: Cómo crear una encuesta/quiz inteligente con jquery

Cita:
Iniciado por tredio Ver Mensaje
creo que no has entendido del todo el script que te pase, te explico para que veas.
te coloco los comentarios.



por que digo que no entendiste del todo el script?, bueno por que si te fijas en el input answers, que es del tipo hidden, se guardan todas las respuestas que fueron elegidas por cada pregunta, y se guardan en este formato.

1:2,3,5|2:3 //ESTO ES POR PONER UN EJEMPLO

cada pregunta esta separada por "|", el numero de la pregunta es el que esta antes del ":" y las respuestas del usuario estan despues del ":", separadas por comas si es que hay mas de una.

si quieres saber que respuesta eligio el usuario, solo tienes que jugar con ese campo y sacar los valores que necesites.

Ahora lo he entendido mejor! muchas gracias tredio

Me he dado cuenta que si hago el quiz y luego recargo y lo vuelvo hacer, las respuestas se mantienen en la variable "val", debería limpiarse al cargar la pagina, no?

Ej. después de haber respondido y cargado la pagina, aparece
1:2,5,6|2:4|1:2,3,4|1:1,2,3|2:2

Después de leer nuevamente el código con tus comentarios, veo que la clave está en esta parte :D

val += getPregunta()+':'+respuestas;

Ya que si imprimo, me muestras las respuestas que se seleccionaron
alert(respuestas);

Entonces, esta es la parte que tengo que enviar al servidor cuando solicito la siguiente pregunta. Y ahí es cuando entra la función

function loadQuestion(){//CARGA LA SIGUIENTE PREGUNTA
$('#cuestionario').html('').load('preguntas.php?q= '+(++question));
}

El problema es que no he podido pasarle estos parámetros a esa función, porque el ámbito de la variable respuestas no lo permite... se puede declarar la variable global? para poder intentar algo así...??

function loadQuestion(){//CARGA LA SIGUIENTE PREGUNTA
$('#cuestionario').html('').load('preguntas.php?q= '+(++question)r=+respuestas);
//alert(respuestas);
}

Muchas gracias de antemano!