2016-12-07 1 views
1

J'ai reçu un code javascript pour enregistrer des presses au clavier dans Qualtrics. Cela semble fonctionner correctement lorsque je prévisualise le sondage, mais dès que j'utilise le lien distribuer le sondage, cela ne fonctionne pas du tout.Qualtrics Presses clavier Javascript

J'utilise ce code pour avant l'événement que je veux enregistrer « x » presses à clavier pour:

Qualtrics.SurveyEngine.addOnload(function() 
 
{ 
 

 
Event.observe(document, 'keydown', function (e) { 
 
     
 
     switch (e.keyCode) { 
 
       case 88: // 'x' was pressed 
 
         var totalpresses = Qualtrics.SurveyEngine.getEmbeddedData("xhits"); 
 
     if (totalpresses == "NaN"){totalpresses=1;} 
 
     totalpresses = parseInt(totalpresses); 
 
         totalpresses = totalpresses + 1; 
 
     Qualtrics.SurveyEngine.setEmbeddedData("xhits",totalpresses); 
 
     } 
 
}); 
 
});

et je suis en utilisant ce code pour suivre l'événement:

Qualtrics.SurveyEngine.addOnload(function() 
 
{ 
 
     
 
     var totalpresses = Qualtrics.SurveyEngine.getEmbeddedData("xhits"); 
 
      Qualtrics.SurveyEngine.setEmbeddedData("finalxhits", totalpresses);

qui me donne des 'xhits' pour la section dont j'ai besoin, mais seulement quand je prends un aperçu de l'enquête. J'utilise des données incorporées dans le flux d'enquête pour créer des «xhits» et des «finalxhits», mais finalxhits ne semble pas non plus afficher de valeur (pas que ce soit le problème).

Je suis très nouveau pour javascript donc j'apprécierais toute aide.

Répondre

0

Je ne suis pas sûr de ce qui cause votre problème (je ne l'ai pas essayé de le recréer), mais essayez ceci:

Qualtrics.SurveyEngine.addOnload(function() 
 
{ 
 
var totalpresses = parseInt("${e://Field/xhits}"); 
 
if (isNaN(totalpresses)) totalpresses = 0; 
 
    
 
Event.observe(document, 'keydown', function (e) { 
 
     
 
     switch (e.keyCode) { 
 
       case 88: // 'x' was pressed 
 
         totalpresses = totalpresses + 1; 
 
         Qualtrics.SurveyEngine.setEmbeddedData("xhits",totalpresses); 
 
     } 
 
}); 
 
});
Est-ce deuxième morceau de code attaché à une question ultérieure ? Je ne suis pas sûr à quoi il sert, mais vous pouvez simplement faire cette affectation dans le flux de l'enquête:

finalxhits = ${e://Field/xhits}