Eine Option besteht darin, die Umfrage zu exportieren, die Exportdatei zu bearbeiten und die Umfrage erneut in Qualtrics zu importieren. Diese Methode ist im Qualtrics-Support nicht gut dokumentiert, funktioniert aber. This help file erläutert, wie eine Qualtrics-Umfrage als QSF-Datei exportiert und importiert wird (z. B. Qualics-Umfrageformatierungsdatei).
Die Hauptaufgabe besteht also darin, herauszufinden, wie der QSF bearbeitet werden kann, um das relevante Java-Script 200 Mal hinzuzufügen.
Die QSF-Datei ist im JSON-Format. Zuvor hatte ich davon gehört, aber ich musste nie das JSON-Format verwenden. Vielleicht ist dies typisch für Qualtrics Benutzer.
Standardmäßig befindet sich die QSF-Datei in einer seriellen Form (d. H. Sie befindet sich in einer Zeile). Ich fand this online editor hilfreich zum Formatieren und Analysieren der hierarchischen Struktur von QSF-Dateien.
Im Allgemeinen beginnt die Struktur von QSF-Dateien mit einer SurveyEntry
, die allgemeine Umfrage Spezifikationen hat. Es hat dann eine Reihe von SurveyElements
. Die ersten sechs Elemente in meinem Beispiel bezogen sich auf allgemeine Merkmale der Umfrage. Insbesondere repräsentieren die ersten Elemente die Blöcke und geben die Reihenfolge der Fragen in dem Block an. Nach den ersten sechs waren die Fragen. Jede Frage enthält eine Reihe von ID-Typ-Variablen gefolgt von Payload
. Das Payload
enthält die Kernattribut-Wert-Paare, die Features der Frage steuern.
Insbesondere das Javascript für eine Frage wird in der QuestionJS
Variable beibehalten. Ich denke nicht, dass die Reihenfolge der Attribute in der Payload wichtig ist, aber ich bin mir nicht wirklich sicher.
Also ist die Aufgabe einfach, einen Code wie diesen innerhalb des Payload
Attributs jeder Frage hinzuzufügen.
"QuestionJS":"Qualtrics.SurveyEngine.addOnload(function()\n{\n var that = this;\n this.questionclick = function(event,element){\n if (element.type == 'radio') {\n that.clickNextButton();\n }\n }\n\n\n});",
Vermutlich gibt es bessere Möglichkeiten der Bearbeitung json Skripte, die eine bessere Nutzung der Datenstruktur, aber es sollte möglich sein, eine einfache Entdeckung zu tun und ersetzen.
"QuestionType":"MC",
"QuestionType":"MC","QuestionJS":"Qualtrics.SurveyEngine.addOnload(function()\n{\n var that = this;\n this.questionclick = function(event,element){\n if (element.type == 'radio') {\n that.clickNextButton();\n }\n }\n\n\n});",
Diese Idee könnte auch auf andere Gelegenheiten verlängert werden, wenn Sie ersetzen wollen: Zum Beispiel, wenn alle Ihre Fragen vom Typ Multiple-Choice sind, könnten Sie so etwas wie
Suche tun Hinzufügen eines bestimmten Attributs zu einer Reihe von Fragen.
Danke. Dein Ansatz wäre großartig. Ich habe diesen Ansatz jedoch versucht und es hat nicht funktioniert. Das heißt, ich habe versucht, den Code, wie er in meiner Frage gezeigt ist (d. H. "Var that = this" usw.) in den Header einzufügen. Denken Sie, dass es angepasst werden muss, um im Header zu arbeiten? Das heißt, als allgemeines Skript über Fragen hinweg zu arbeiten? –
Mit einigen anderen Skripts kann ich Header zu arbeiten, aber nur für die erste Frage nach diesem Problem: https://stackoverflow.com/questions/31754742/why-does-my-qualtrics-js-in-header-only- Anscheinend arbeiten-für-die-erste-Seite –
Sie müssen Ihr Skript anpassen, weil 'dies' nicht mehr die Frage ist (zB this.questionId). Sie müssen das Skript die Frage finden lassen. Bei einem anderen Problem, unter Look & Feel, legen Sie den Seitenübergang auf "None" fest. Außerdem empfiehlt es sich, JavaScript in die Fußzeile zu stellen. –