Ver Mensaje Individual
  #17 (permalink)  
Antiguo 07/09/2010, 23:59
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
solo basta con modificar esta funcion, pero quita los demas cambios que hiciste, excepto $('a.empezar_quiz').click().

Código Javascript:
Ver original
  1. function loadQuestion(param){//CARGA LA SIGUIENTE PREGUNTA
  2.         if(question == 1){$('#prev').hide();}else{$('#prev').show();}
  3.         var r = (param)?(param.respuestas)?'&r='+param.respuestas:'':'';
  4.         $('#cuestionario').html('').load('preguntas.php?q='+(question)+r,(param)?param.callback:null);
  5.     }

el segundo error sucede cuando llegas a una pregunta que no existe, es decir, cuando no hay preguntas en pantalla, eso es algo que deberias de evitar( dejar la pantalla en blanco ), lo podrias hacer definiendo un numero maximo de preguntas, y cuando llegues a ese numero y le das continuar guardas todas las respuestas del usuario.
Buenas tredio,

El botón atrás lo que es su aparición funciona correctamente :). Sin embargo, no está haciendo bien su papel. He intentado evitar que se tenga que marcar una opción para poder retroceder y lo he dejado así, una parte funciona:

Código Javascript:
Ver original
  1. $('#prev').click(function(){
  2.         if(getPregunta() != 1){
  3.             //if(getN() == $('.activo').length){              
  4.                 var r = seleccionarRespuestas();
  5.                 $('#answers').val(r.val);
  6.                 question--;
  7.                 loadQuestion({respuestas:r.respuestas,callback:marcarElegidas});                
  8.             /*}else{
  9.                 var n = getN();
  10.                 var text = (n > 1)?' preguntas':' pregunta';
  11.                 alert('Debe seleccionar '+getN()+text);
  12.             }*/
  13.         }/*else if(getPregunta() == 1){
  14.             alert('Ya se encuentra en la primera pregunta.')
  15.         }*/
  16.     });

Por ejemplo, si vas de la primera pregunta a la segunda y viceversa, sin seleccionar nada en la segunda, funciona bien. Pero a la que avanzas hasta la tercera pregunta, y vuelves para atrás hasta la primera, desaparecen las respuestas de la primera pregunta :S

Y sobre el error de depuración, no es que no exista la pregunta porque existe. Si pasas de la pregunta 2 a la pregunta 3 me aparece el error que te comentaba en el otro post, a ti no?

Puedes probarlo desde la web http://neodani.com/fdw/jquery/quiz/

Muchas gracias de antemano!