Auf Qualtrics, wie Sie sparen eingebetteten Daten mit javascript (da qualtrics wurde kürzlich aktualisiert und SO eine alte Lösung nicht mehr funktioniert)

Ein paar Monaten habe ich die exzellente Beratung über hier um eine Umfrage zu erstellen, in Qualtrics mit etwas javascript-code, der gespeichert die Antworten der Leute (gegeben durch das verschieben eines Reglers) als eingebettete Daten. Es alle Scharniere auf die Möglichkeit zum Aufruf einiger Funktionen, wenn der „Weiter“ – button geklickt wird, so wie Sie ist zu finden unter $('NextButton').onclick = function (event) im obigen link.

Wollte ich wiederverwenden, die Umfrage an diesem Wochenende, und gefunden, dass die Daten nicht mehr gespeichert. Nach dem basteln ein wenig herum, habe ich festgestellt, dass derzeit, eine solche Funktion wird jetzt nur noch laufen, das erste mal die „weiter“ – button geklickt wird, und nicht auf einem späteren Zeitpunkt. In anderen Worten, genau das selbe javascript wird entweder arbeiten oder nichts tun, je nachdem, ob es passiert, das erste mal die Schaltfläche weiter geklickt wird.

Ich per post Qualtrics um Rat gebeten, und Ihre support-Mitarbeiter per E-Mail zurück mit die folgenden:

Die alte Anwendung, die lief unsere Umfragen würde die Seite neu geladen jedes mal, wenn Sie ging, um eine neue Seite in der Umfrage. Die aktuelle Anwendung läuft, dass unsere Umfragen ist eine ein-Seite-app und gehen Sie auf die nächste Seite in einer Umfrage nicht aktualisieren, die gesamte Seite, nur es stellt einen anderen Abschnitt.

Ich konnte nichts finden auf der website von Qualtrics, die mehr Informationen über die oben genannten update, oder angibt, ob es eine neue CSS-Selektor, der verwendet werden könnte, um wählen Sie die aktuell angezeigte „weiter“ – button, ersetzt $(„NextButton“), und ich habe keine Ahnung, wie reverse-engineer a Qualtrics survey web Seite zu arbeiten it out für mich.

Kann jeder jeden schlagen, wie der code in dem verlinkten Antwort oben könnte geändert werden, um die Arbeit an der aktualisierten Qualtrics-Plattform? Oder kann jemand bestätigen, ob Ihre alte code noch funktioniert, in dem Fall bin ich mis-identifiziert, was das problem ist.

Habe ich nicht genügend Ruf um einen Kommentar auf der oben verlinkten Lösung zu zeigen, in dieser Frage, aber vielleicht jemand anderes tun könnte. Ich werde aktualisieren, wenn ich mehr Informationen von Qualtrics unterstützen.

InformationsquelleAutor Justin | 2016-08-15



2 Replies
  1. 2

    Qualtrics verwendet zwei Umfrage-Motoren: die älteren SE-und die neuere JFE. Qualtrics Unterstützung bezog, JFE. Sie können erzwingen, Qualtrics zu verwenden, SE, indem der parameter Q_JFE=0 zu den Umfrage-link. Das könnte eine schnelle Lösung sein.

    Sagte, das hinzufügen eines Ereignis-Listeners zu den NextButton noch nie funktioniert zuverlässig mit entweder SE oder der JFE. Qualtrics hat seine eigenen Ereignis-Listener auf die Schaltfläche Weiter stören. Die zuverlässigste Methode ist die Verwendung von JavaScript zum ausblenden der NextButton, fügen Sie dann Ihre eigene Taste, die führt jeder Prozess, den Sie brauchen, am Ende dann klickt NextButton. Siehe Beispiel hier.

  2. 1

    Ich habe nicht versucht, T. Gibbon ‚ s Q_JFE=0 Vorschlag oben, und der Vorschlag, verstecken Sie die Nächste Taste hat bei mir nicht funktioniert (obwohl es möglich war diese nur, weil ich habe es falsch – vielleicht kann jemand kommentieren, wenn es für Sie gearbeitet).

    Wenn ich Mail Qualtrics, Ihr Vorschlag war es, fügen Sie einen Ereignis-listener wie folgt, und anschließend entfernen Sie es vor der Anwendung eine andere.

    document.getElementById('NextButton').addEventListener(function (event) {
    doStuff();
    });

    Aber da bin ich nur ein Psychologe, der will, um Daten schnell lieber als javascript-Programmierer, ich war mir nicht sicher, wie Sie gehen über den ‚entfernen Sie einen Ereignis-listener‘, und beschlossen, zu versuchen, was ich dachte, war eine einfachere Lösung, als dass Sie nicht darauf angewiesen, dass einige Funktionen ausgeführt, wenn die Schaltfläche ‚weiter‘ geklickt wird.

    Für jede Frage enthält einen Schieber, dessen Daten ich speichern will (ich hatte nur eine Frage pro Seite), habe ich den folgenden, um die ID für die jeweilige Frage als eingebettete Daten. Jede Frage, die ID gespeichert wird, mit einem eindeutigen tag versehen (‚q1ID‘ im folgenden). Ich hatte eine solche Frage pro Seite.

    Qualtrics.SurveyEngine.setEmbeddedData('q1ID', this.getQuestionInfo().QuestionID);

    Dann mal alle regler-Typ Fragen präsentiert worden waren, auf der folgenden Seite habe ich diesen code:

    Qualtrics.SurveyEngine.addOnload(function()
    {
        var tags = ['q1','q2', 'q3'];
    
        var pipedStrings = {'QID356':'${q://QID356/TotalSum}',
            'QID357':'${q://QID357/TotalSum}',
            'QID358':'${q://QID358/TotalSum}'};
    
        tags.forEach(function(tag) {
            var qID = Qualtrics.SurveyEngine.getEmbeddedData(tag + 'ID');
            var response = pipedStrings[qID];
            Qualtrics.SurveyEngine.setEmbeddedData(tag, response);
    
        });
    });

    Zunächst, ich hatte versucht was ich dachte, war sinnvoller:

    tags.forEach(function(tag) {
            var qID = Qualtrics.SurveyEngine.getEmbeddedData(tag + 'ID');
            var response = '${q://' + qID + '/TotalSum}';
            Qualtrics.SurveyEngine.setEmbeddedData(tag, response);
    
        });

    Aber wie schon hier, Qualtrics nicht zulassen, dass Sie Daten abrufen, indem eine variable in einen string. Folglich, obwohl es scheint ein lächerlich Kreisverkehr, was zu tun ist es, ich habe die pipedStrings Objekt, das eine Liste mit allen Frage-IDs, die ich brauchte (das fand ich durch den Export der Umfrage, um eine text-Datei und Suche nach meiner Frage-tags).

    Dieser erlaubt mir das speichern der Antworten auf die Schieberegler Fragen als eingebettete Daten enthält, mit den genannten Tasten in tags. Wenn jemand einen einfacheren Ansatz, die Vermeidung zu erstellen das Wörterbuch von pre-formatierte Zeichenfolgen, bitte Kommentar.

    • Warum nicht einfach ordnen Sie die eingebettete Variablen in der Umfrage fließen wie q1ID = ${q://QID356/TotalSum}?
    • Dies ist eine generelle Lösung, dass Ihr Vorschlag, da Sie es ermöglicht, die Frage der Randomisierung, die ich denke, ist Häufig genug Praxis in der Psychologie Umfragen zu rechtfertigen überlegung. In meinem Fall, zum Beispiel, für jeden block wird zufällig einer von zwei möglichen Variationen der Frage wird angezeigt. Also die Frage-ID für ‚q1‘ möglicherweise QID356 oder könnte es QID357, je nachdem, welche Frage-Variante, die zufällig angezeigt, auf die Teilnehmer. Ich sehe nicht, wie die Zuordnung in der Umfrage fließen kann, aber wenn es einen Weg gibt, dies zu tun, lassen Sie es mich bitte wissen.
    • Ein weiterer Grund, die ich brauchte, es zu tun auf diese Weise (und wieder, ich denke, das wäre eine gemeinsame genug brauchen) – ich brauche, um Operationen auf einige der Antworten, abhängig von bestimmten Bedingungen geknüpft ist. Zum Beispiel habe ich einen reverse-score einige der Fragen, die andere aber nicht.
    • Wenn Sie nach dem Zufallsprinzip anzeigen 1 2 q1 s (das ist nicht das, was der code, den Sie geschrieben, sagt), dann können Sie dies in der Umfrage Durchfluss: q1 = $e{ q://QID356/TotalSum + q://QID357/TotalSum }. Ich nicht bekommen, Ihren zweiten Punkt. Es sei denn, es ist etwas, das Sie nicht zeigen uns, dass Sie am Ende mit den gleichen Variablen mit den gleichen Werten.
    • Ok, das ist ein cleverer Weg, es zu tun in der Umfrage fließen, wenn es keinen anderen Unterschied zwischen den Antworten. In meinem Fall, obwohl, wenn die zweite Variante zu jeder Frage wird angezeigt, die Antwort, die ich möchte zu sparen, ist tatsächlich 100 minus der gegebenen Antwort. Also, wenn Sie reagierte mit 21 zu der zweiten version, ich will sparen, Ihre Reaktion als 79. Ja, ich bin sicher, ich könnte dies tun, indem Sie eine version von Ihrem Vorschlag, aber der Punkt ist, dass meine Lösung macht es einfach für Menschen zu tun, was die manipulation der response-Variablen, wie Sie wollen – es ist leicht anpassbar an die Bedürfnisse anderer.
    • Wenn jemand hatte eine Menge Versionen der gleichen Frage, oder, wenn Sie wollten, etwas komplizierte Funktion, um die Antwort, bevor Sie Sie speichern, oder wenn Sie wollte etwas tun, um mit ihm zusätzlich zur Speicherung der eingebetteten Daten, meine Antwort wird Ihnen helfen, und ist somit nützlich in einem Allgemeinen Sinn.
    • die option zum ausblenden der Schaltfläche weiter aus T. Gibbons arbeitete für mich

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.