2017-07-19 5 views
0

Je cours un IAT en qualtrics et depuis qu'ils sont passés à leur nouveau moteur, mon JavaScript ne fonctionne pas. Je ne connais pas bien JavaScript et je n'arrive pas à comprendre, pour la vie de moi, comment permettre aux gens de passer à la partie suivante en appuyant sur shift et z. En ce moment, j'ai ce code:Enregistrement d'une pression sur une touche en utilisant JavaScript JavaScript

Qualtrics.SurveyEngine.addOnload(function() 
{ 
    this.disableNextButton(); 
    this.disablePreviousButton(); 
    this.hideNextButton(); 
    this.hidePreviousButton(); 
    this.hideChoices(); 

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

Les deux dernières lignes sont ce qui ne fonctionne pas. À l'heure actuelle, tel qu'il est écrit, il retarde puis avance automatiquement après 5 secondes. Ce que je veux faire, cependant, c'est permettre aux gens de passer à autre chose (la fonction clickNextButton) lorsqu'ils pressent shift + z. Est-ce que quelqu'un peut m'aider avec ça?

https://s.qualtrics.com/WRAPI/QuestionAPI/classes/Qualtrics%20JavaScript%20Question%20API.html

Répondre

0

mise à jour:

Cela semble faire l'affaire, mais je dois être connecté deux touches à la fois, et ne savent pas comment. Plus important encore, il semble enregistrer automatiquement quand j'appuie sur z une fois et avance automatiquement à travers plusieurs questions ...

Qualtrics.SurveyEngine.addOnload(function() 
{ 
    this.disableNextButton(); 
    this.disablePreviousButton(); 
    this.hideNextButton(); 
    this.hidePreviousButton(); 
    this.hideChoices(); 

    var that = this; 
    Event.observe(document, 'keydown', function keydownCallback(e) { 
     if(e.keyCode == 90) { 
     that.clickNextButton(); 
     } 
    }); 
}); 
+1

Puisque cette réponse ne résout pas complètement votre problème, vous devriez avoir modifié votre message original au lieu de l'ajouter comme réponse. –

+0

Désolé! Jamais utilisé débordement de pile avant, mais merci pour le conseil! – lucretiuss

+0

Pas de problème. Il faut un certain temps pour apprendre les tenants et les aboutissants. –

0

Vous pouvez seulement avancer à travers les pages, pas des questions. Avec cette approche, vous avez besoin d'une question par page.

Vous pouvez gérer plusieurs codes clés avec "ou", "else if" ou "switch". Comme il n'y en a que deux, "ou" est probablement le plus facile:

Event.observe(document, 'keydown', function keydownCallback(e) { 
    if(e.keyCode == 90 || e.keyCode == 89) { 
    that.clickNextButton(); 
    } 
});