2016-03-25 1 views
0

J'ai une zone de texte (aussi appelée "saisie de texte") dans mon enquête de qualification dans laquelle je veux que les participants écrivent quelque chose mais je ne veux pas que le résultat soit sauvegardé Les données. Je ne veux pas utiliser la fonction de mot de passe, j'ai donc utilisé JavaScript au niveau de la zone de texte.Qualtrics: Javascript pour ne pas enregistrer l'entrée de Text Box

Le code ci-dessous fonctionne dans la mesure où, quels que soient les participants mis dans la zone de texte, il sera mis à une chaîne vide au moment où ils frappent le bouton suivant.

Qualtrics.SurveyEngine.addOnload(function() 
{ 
    /*Place Your Javascript Below This Line*/ 
var currentQuestionID = this.getQuestionInfo().QuestionID 

var input = $("QR~"+currentQuestionID); 


$('NextButton').onclick = function (event) { 
    input.value = "" 
} 
}); 

Le problème: Ce code ne fonctionne que parfois. Par exemple, lorsque j'ai deux zones de texte avec exactement le même code, cela ne fonctionne que pour le premier mais pas le second. De même, pour une raison quelconque, si la zone de texte est intégrée à d'autres questions, cela ne fonctionne pas non plus.

Est-ce que quelqu'un sait comment je peux faire ce travail soit en changeant mon code ou avec une solution complètement différente? Essentiellement, je veux juste que les participants saisissent du texte qui ne sera jamais enregistré dans mes données et je ne peux pas utiliser la fonction de mot de passe.

Solution: Une façon de résoudre ce serait d'ajouter un élément « Texte descriptif » dans lequel vous pouvez ajouter un peu de code simple HTML:

<p>Please provide your email address:</p><p><br></p> 

<input name="nothing" type="textarea"> 
+0

Utilisez une classe pour toutes les entrées que vous ne voulez pas enregistrer, puis définissez les éléments de classe à vider? '$ (". class "). val (" ");'. –

+0

Dites-nous pourquoi il est judicieux de gaspiller le temps que les répondants utilisent pour saisir le texte que vous allez jeter immédiatement. –

+0

@Henry A .: Merci pour votre réponse, malheureusement, je ne connais pas suffisamment JavaScript pour mettre votre suggestion en action sans plus de conseils. Néanmoins, une suggestion de collègue une solution qui fonctionne (voir ci-dessus). –

Répondre

0

Je ne fonctionne pense pas JavaScript bien dans ce cas car il ne peut pas être garanti de s'exécuter avant que la page ait envoyé les données. Le meilleur moyen est de faire une "question" fictive de HTML qui a l'apparence d'un formulaire mais n'enregistre aucune information.

J'ai essayé dans une enquête de test en ajoutant une question de type « Texte descriptif », puis dans « HTML View » pour cette question, en ajoutant:

<p>This is not a real question, there is just a HTML textarea. </p> 
<form id="mydummyform"> 
<input name="nothing" type="textarea" /> 
</form> 

Je trouve que cela parfois montré la Source HTML au lieu du formulaire dans l'éditeur de sondage; Si c'est le cas, allez dans "Affichage HTML" puis "Vue normale" et il devrait être résolu correctement. Ce problème était seulement dans l'éditeur - il a toujours montré correctement dans un aperçu de l'enquête.