ClickNextButton no se ejecuta correctamente cuando se hace clic en el botón Siguiente -- javascript campo con methods camp Relacionados El problema

clickNextButton not executing properly when previously clicking on the next button


0
vote

problema

Español

Estoy construyendo una encuesta en los requisitos y use el método ClickNextButton para dirigir automáticamente al participante a la página siguiente con las preguntas. Implementé el método en varias páginas siguientes. Además, los participantes también pueden hacer clic en el siguiente botón. El problema surge cuando lo hacen: si hacen clic en el botón Siguiente antes del límite de tiempo, en la página siguiente, el método dirige al participante antes de la página después de eso.

  this.hideNextButton(); var that = this; (function(){that.clickNextButton();}).delay(40);   

Por ejemplo, configuro el límite de tiempo en 40 segundos en cada página. En la página 1, el participante hace clic manualmente en el 'botón siguiente' después de 10 segundos. Lo que sucede es entonces en la página 2, el participante se reenvía a la página 3 después de 28 segundos en lugar de 40. Si hubiera hecho clic en el 'botón Siguiente' en la página 1 después de 5 segundos, se habría reenviado en la página 2 a Página 3 después de alrededor de 33 segundos. Entonces, aparentemente depende de su velocidad de clic en la página 1, cuando se dirija en la página 2. ¿Cómo puedo prevenir esto?

Original en ingles

I am building a survey in Qualtrics and use the method clickNextButton to automatically direct the participant to the next page with questions. I implemented the method in several following pages. Furthermore, participants are also able to click the next button themselves. The problem arises when they do so: if they click on the next button before the time limit, in the next page the method directs the participant earlier than given to the page after that one.

this.hideNextButton(); var that = this; (function(){that.clickNextButton();}).delay(40); 

For example, I set the time limit on 40 seconds on every page. On page 1, the participant manually clicks on the 'next button' after 10 seconds. What happens then is that on page 2, the participant is forwarded to page 3 after 28 seconds instead of 40. If he would have clicked on the 'next button' on page 1 after 5 seconds, he would have been forwarded on page 2 to page 3 after around 33 seconds. So it apparently depends on his click speed on page 1 when he will be directed on page 2. How can I prevent this?

     

Lista de respuestas

1
 
vote

en lugar de usar el temporizador para la redirección automática. Llame a respectivo Método de click cuando se responde la pregunta para que redirija a la página correspondiente. y también reinicie el temporizador en cada rirección de la página.

 

Rather than using the timer for automatic redirection. call respective on click method when the question is answered so it will redirect to the respective page. and also reset the timer on every page redirection.

 
 
 
 
0
 
vote

Debe eliminar el tiempo de espera si el encuestado hace clic en el siguiente botón (El retraso es solo una implementación de prototypejs de Settimeout). Hazlo algo como esto:

  Qualtrics.SurveyEngine.addOnReady(function() {   this.hideNextButton();   var that = this;   var timer = setTimeout(function() { that.clickNextButton(); },4000);   Qualtrics.SurveyEngine.addOnPageSubmit(function() { clearTimeout(timer); });   });   
 

You need to clear the timeout if the respondent clicks the Next button themselves (delay is just a prototypejs implementation of setTimeout). Do it something like this:

Qualtrics.SurveyEngine.addOnReady(function() {   this.hideNextButton();   var that = this;   var timer = setTimeout(function() { that.clickNextButton(); },4000);   Qualtrics.SurveyEngine.addOnPageSubmit(function() { clearTimeout(timer); });   }); 
 
 
 
 

Relacionados problema

0  Rieles: intentando reconstruir y guardar una fecha antes de la validación -> Fecha no válida  ( Rails trying to reconstruct and save a date before validation invalid date ) 
Escribí un método simple que ahorra una fecha en un campo DB (Mydate: Fecha), pero devuelve un mensaje de error "Fecha" válida ". Nota: Yo uso simple_form ...

0  Java: Historial de ejecución de registro como XML  ( Java logging execution history as xml ) 
Para propósitos de depuración, necesito seguir la ejecución de algún pedazo de código, dentro de una clase. Me gustaría generar un registro para todas las lla...

0  ¿Cómo eliminar la redundancia de métodos similares?  ( How to remove redundancy from similar methods ) 
¿Alguna sugerencia creativa sobre cómo eliminar la redundancia de los métodos dentro de este objeto?: var ObjectCrud = { createByKey: function(object, ...

134  El método de clase genera "TypeError: ... obtuvo múltiples valores para el argumento de la palabra clave ..."  ( Class method generates typeerror got multiple values for keyword argument ) 
Si defino un método de clase con un argumento de palabras clave, por lo tanto: class foo(object): def foodo(thing=None, thong='not underwear'): print...

149  Métodos estáticos sincronizados de Java: bloqueo en objeto o clase  ( Java synchronized static methods lock on object or class ) 
La documentación de Java dice: No es posible para dos invocaciones de métodos sincronizados en el mismo objeto para intercalar. ¿Qué significa esto pa...

1  Cómo obtener una cadena con el método de clase iOS  ( How to get a string with class method ios ) 
Tengo un valor de cadena que configuro con un método @synthesize folderPathName=_folderPathName; -(void)loadFolderPathName:(NSString *)folder{ _folderP...

1  Método de diseño de rieles find_for_authentication no se llama  ( Rails devise method find for authentication not being called ) 
Tengo una aplicación multitenante, donde cada usuario puede tener diferentes roles en diferentes subdominios. Hay una mesa de utilidad, que une el inquilino, ...

2  Método de devolución de llamada en IFRAME para devolver un valor al abridor  ( Callback method in iframe to return a value to opener ) 
Tengo que llamar a un método de devolución de llamada en IFRAME para devolver un valor al abridor. Sé squeezebox tiene métodos estáticos "Asignar, abrir, ...

682  Agregar un método a una instancia de objeto existente  ( Adding a method to an existing object instance ) 
He leído que es posible agregar un método a un objeto existente (es decir, no en la definición de clase) en Python. Entiendo que no siempre es bueno hacerlo...

1  Llame a un método de un componente web y responda a los eventos  ( Call a method of a web component and respond to events ) 
Estoy trabajando en un proyecto DART donde he creado un elemento personalizado con el paquete WEB_UI que tiene alguna animación. Lo que esperaba hacer es tene...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos