2017-03-15 5 views
0

Je dois définir une limite de temps pour un bloc entier dans Qualtrics. L'enquête se compose de 5 blocs, et je veux que le bloc 4 ait une limite de temps de 10 minutes. Qualtrics fournit cette fonctionnalité pour chaque page, mais je ne sais pas comment je devrais coder le JavaScript à cette fin.Limite de temps pour un bloc dans Qualtrics

J'apprécie déjà votre aide.

P.S.

Avant que le bloc I défini les données EMBEDDED "SB1" comme:

${e://Field/Q_TotalDuration} 

Ensuite, pour chaque page du bloc, je suis d'ajouter ce qui suit au JavaScript:

Qualtrics.SurveyEngine.addOnload(function() 
{ 
var elapsed = parseInt("${e://Field/Q_TotalDuration}") - parseInt("${e://Field/sb1}"); 
if(elapsed >= 600) { 
$('NextButton').click(); 
} 
}); 

Mais malheureusement, il ne semble pas fonctionner.

Répondre

0

Le problème immédiat est que vous avez besoin de reporter l'exécution de $ (« nextButton »). Cliquez sur() JFE. C'est un problème de timing ... le NextButton n'est pas là quand votre code s'exécute.

Qualtrics.SurveyEngine.addOnload(function() { 
    var elapsed = parseInt("${e://Field/Q_TotalDuration}") - parseInt("${e://Field/sb1}"); 
    if(elapsed >= 600) { 
    clickId.defer('NextButton'); 
    } 

    function clickId(id) { 
    $(id).click(); 
    } 
}); 

Un autre problème potentiel est que votre script ne s'exécute que lorsque la page est chargée. Ce n'est pas clair c'est ce que tu veux. Si ce n'est pas le cas, vous devez ajouter une fonction JavaScript setInterval ou prototypejs PeriodicalExecuter pour incrémenter la variable écoulée et cliquer sur Suivant lorsque la limite de temps est atteinte. Si vous adoptez cette approche, vous ne pouvez pas forcer la réponse ou valider les questions.