Je suis très nouveau sur JavaScript et j'essaie actuellement d'ajouter un code personnalisé à mon enquête Qualtrics qui le rend donc en appuyant sur la barre d'espace continue l'enquête dans le type de question "Texte/Graphique". J'ai un code qui devrait fonctionner; cependant, je reçois un « jeton inattendu (» erreurQualtrics: utiliser la barre d'espace pour continuer, étudier l'autoadvancement sur l'élément suivant si l'élément laissé sans réponse avant la barre d'espace appuyez sur
Voici le code:.
Qualtrics.SurveyEngine.addOnload(function()
{
document.addEventListener("keydown", function(e) {
if (e.keyCode === 32) {
function(){
that.clickNextButton();
}
}
}
});`
J'ai aussi trouvé cette réponse à une question similaire de quelques années:
Voici une version simplifiée qui fonctionne (mise à jour pour cacher nextButton).
Qualtrics.SurveyEngine.addOnload(function() {
$('NextButton').hide();
document.on("keydown", function(e) {
if (e.keyCode === 13) $('NextButton').click();
});
});
Ce code, cependant, ne fonctionne pas du tout dans mon enquête (comme si elle était même pas là)
Toute aide est très appréciée, merci d'avance!
____ Modifier _____
Le code que je suis maintenant utilisé est le suivant:
Qualtrics.SurveyEngine.addOnload(function()
{
/*Place your JavaScript here to run when the page loads*/
});
Qualtrics.SurveyEngine.addOnReady(function()
{
/*Place your JavaScript here to run when the page is fully displayed*/
Qualtrics.SurveyEngine.addOnReady(function() {
$('NextButton').hide();
document.on("keydown", function(e) {
if (e.keyCode === 32) $('NextButton').click();
});
});
});
Qualtrics.SurveyEngine.addOnUnload(function()
{
/*Place your JavaScript here to run when the page is unloaded*/
});
Le problème que j'ai maintenant que l'étude autoadvances la question suivante chaque fois que je la barre d'espace avant ansewring une question précédente .
Exemple
Question 1: Est-ce la phrase que vous venez de voir une suite logique de la phrase précédente?
* participant appuie sur la barre d'espace avant de répondre à la question avec F pour non et J pour oui
* L'étude rappelle le participant dont ils ont besoin pour répondre à la question avant de passer à la question suivante
* participant répond à la question et l'étude passe automatiquement à la question suivante, car la réponse valide la question
-> l'étude permet uniquement au participant de voir l'élément suivant pendant une seconde, puis de passer automatiquement à l'élément suivant sans que le participant n'appuie sur une touche.
Le code que j'utilise pour les touches F + J est la suivante:
Qualtrics.SurveyEngine.addOnload(function()
{
this.hideNextButton();
this.hidePreviousButton();
var that = this;
Event.observe(document, 'keydown', function keydownCallback(e) {
var choiceID = null;
switch (e.keyCode) {
case 74: // 'f' was pressed
choiceID = 2;
break;
case 70: // 'j' was pressed
choiceID = 1;
break;
}
if (choiceID) {
Event.stopObserving(document, 'keydown', keydownCallback);
that.setChoiceValue(choiceID, true);
that.clickNextButton();
}
});
});
Merci beaucoup pour votre aide. Cela fonctionne maintenant mais j'ai toujours un léger problème. J'ai des items dans mon étude dans lesquels le participant doit répondre à une question oui-non avec des traits de touches, à savoir F pour non et J pour oui. J'ai ajouté le code pour la suite par barre d'espace au début de l'étude, sur la toute première page, et ça marche bien sur l'ensemble de l'étude sauf pour ces questions oui-non. Je ne veux pas que les participants puissent continuer l'enquête avant de répondre à la question, et donc l'enquête montre une réponse "s'il vous plaît répondez à cette question d'abord" -message s'ils pressent la barre d'espace avant ... –
... répondre à la question . Cependant, une fois que j'ai appuyé sur la barre d'espace pour continuer l'étude et que je suis "forcé" de répondre à la question en appuyant sur F ou J, l'étude corrige la question suivante! Je pense que ça doit être l'enregistrement de la barre d'espace avant de répondre à la question, et c'est comme si j'avais pressé "continuer" sur le prochain élément. Comment pourrais-je résoudre ce problème? Mon code pour les touches F/J: –
{ this.hideNextButton(); this.hidePreviousButton(); var that = this; Event.observe (document 'keydown', function keydownCallback (e) {var choiceID = null; commutateur (e.keyCode) { cas 74: // 'f' a été pressé choiceID = 2; pause; cas 70: // 'j' a été pressé choiceID = 1; break;} si (choiceID) { Event.stopObserving (document, 'KEYDOWN', keydownCallback); that.setChoiceValue (choiceID, vrai) that.clickNextButton(); \t} \t \t}); }); –