2017-10-17 5 views
0

Je me bats avec cela depuis longtemps et j'ai finalement une demi-solution, mais pas le reste.Qualtrics Stockage de texte dans les données incorporées en créant de nouveaux boutons

Fondamentalement, j'ai besoin des répondants Qualtrics pour entrer une entrée numérique dans une zone de texte en ligne, et je veux stocker cette entrée en tant que données intégrées.

Jusqu'à présent, dans le code HTML de la page Qualtrics, j'ai

Enter data here: <input type="text" id="myText" value=" "> 
<input type="submit" value="Confirm" onclick="formdata()"/> 

<script> 
function formdata(){ 
var questionanswer= document.getElementById("myText").value; 
Qualtrics.SurveyEngine.setEmbeddedData("Q1input", questionanswer); 
} 
</script> 

Cela fonctionne très bien. Il crée la zone de texte où ils peuvent entrer "myText", puis il stocke cela comme Embedded Data Q1input, que je peux ensuite accéder plus tard. Cependant, c'est ennuyeux car ils doivent cliquer sur le bouton "Confirmer" que j'ai créé et quitter la page en utilisant le bouton normal Qualtrics Next Page. Je l'ai fait parce que je ne pouvais pas le faire travailler en exécutant ceci quand le bouton Qualtrics Next a été cliqué, donc j'ai dû le faire fonctionner sur mon propre bouton.

J'ai essayé de désactiver les boutons Page suivante en utilisant le code disableNextButton et clickNextButton Qualtrics, mais je ne sais pas où le mettre. Je peux désactiver NextButton en mettant le code dans la partie addOnload, mais je ne peux pas sembler obtenir clickNextButton pour s'exécuter dans la fonction formdata.

Toute aide serait grandement appréciée! Je ne connais pas vraiment JavaScript; J'essaie juste de prendre ça pour lancer un sondage.

Répondre

1

La façon la plus simple de gérer cela est d'appeler votre fonction à chaque fois que le champ de saisie de texte change. Depuis Qualtrics comprend prototypejs, vous pouvez utiliser les éléments suivants:

Enter data here: <input type="text" id="myText" value=" "> 

<script> 
function formdata(){ 
var questionanswer= document.getElementById("myText").value; 
Qualtrics.SurveyEngine.setEmbeddedData("Q1input", questionanswer); 
} 

$('myText').observe('change', formdata()); 
</script> 

Deux pensées ici:

  1. Vous devriez inclurons votre script dans la section JavaScript de votre question, plutôt que le edditor html. Il appartient à la section addOnReady.

    Qualtrics.SurveyEngine.addOnReady (function() { fonction formdata() {var questionanswer = document.getElementById ("myText") valeur;. Qualtrics.SurveyEngine.setEmbeddedData ("Q1input", questionanswer); }

    $ ('myText'). Observer ('change', formdata()); }); Vous pouvez obtenir le même effet en utilisant un type de question d'entrée de texte dans Qualtrics, puis en utilisant un texte en texte ajouté pour l'ajouter au champ de données incorporé dans votre flux d'enquête.