0 votes
ago in SoSci Survey (dt.) by s338943 (120 points)
edited ago by s338943

Ich habe nochmal eine ganze Weile rumprobiert, und ich bin auch schon etwas weiter gekommen, aber so ganz klappt es noch nicht. Die Anzahl der Trials wurde wie von mir gewünscht angepasst. Die Anzahl der Blöcke glaube ich auch, aber nach Block 7 hängt sich das Ganze auf. Hier der Code (die Anzahl der Trials ist nur zum Testen so gering, weil ich die später auch anpassen muss und direkt sehen wollte, ob es klappt):

<script type="text/javascript">
SoSciTools.attachEvent(window, "load", function() {
  SoSciTools.questionnaire.IA01.setBlocks([0,1,2,3,4,5,6,7,8,9,10]);
  SoSciTools.questionnaire.IA01.trialCount = [1,2,3,4,5,6,7,8,9,10,11];
  SoSciTools.questionnaire.IA01.setTrials([2,2,2,2,2,2,2,2,2,2,2]);
  SoSciTools.questionnaire.IA01.getBlockInfo = function (blockID) {
        // Init categories
        var categories = [[], []];
        
        // Create block content
        // 0=A, 1=B, 2=C, 3=D
        if (blockID === 0) {
            // Practice 1
            categories = [[0], [1]];
        } else if (blockID === 1) {
            // Practice 2
            categories = [[2], [3]];
        } else if (blockID === 2) {
            // Practice 3
            categories = [[0,2], [1,3]];
        } else if (blockID === 3) {
            // Test (block 4)
            categories = [[0,2], [1,3]];
        } else if (blockID === 4) {
            // Test (block 5)
            categories = [[0,2], [1,3]];
        } else if (blockID === 5) {
            // Test (block 6)
            categories = [[0,2], [1,3]];
        } else if (blockID === 6) {
            // Practice 7
            categories = [[1], [0]];
        } else if (blockID === 7) {
            // Practice 8
            categories = [[1,2], [0,3]];
        } else if (blockID === 8) {
            // Test (block 9)
            categories = [[1,2], [0,3]];
        } else if (blockID === 9) {
            // Test (block 10)
            categories = [[1,2], [0,3]];
        } else if (blockID === 10) {
            // Test (block 11)
            categories = [[1,2], [0,3]];
        } else alert("BlockID too large in getBlockInfo: " + blockID);

        return {
            categories: categories,
            trials: this.trialCount[blockID]

        };
    };
});
</script>

In den Entwicklertools unter "Elements" fand ich folgendes:

Meine Fragen wären jetzt:

  1. Kommt der Fehler evtl. daher, dass dort die Values für die unteren vier Zeilen fehlen?
  2. Falls das so ist, haben Sie eine Idee, wie ich die hinzufügen kann?
  3. Falls nicht, wo liegt dann das Problem und wie kann ich es beheben?

Vielen Dank im Voraus!

ago by SoSci Survey (352k points)
> In den Entwicklertools unter "Elements" fand ich folgendes

Was zeigt denn das Tab "Konsole" in den Entwicklertools? Wenn JavaScript Probleme verusacht, dann würde man es dort sehen.

Posten Sie gerne auch einen Pretest-Link direkt (!) zur Seite mit dem IAT und Code, dann werfe ich gerne einen Blick direkt in die Konsole.
ago by s338943 (120 points)
https://www.soscisurvey.de/tutorial491675/?act=hAk5mitvKUoxMWnHRLbb5ibi

Hier der Pretest-Link. Vielen Dank im Voraus für Ihre Mühe!

1 Answer

0 votes
ago by SoSci Survey (352k points)

Sie waren mit Ihrer Vermutung schon sehr nahe dran ... tatsächlich fehlte dem Script HTML-Inputs, in welchem es die Details zur den zusätzlichen Blöcken abspeichern konnte.

Nun könnte man natürlich einfach zusätzliche HTML-Inputs einfügen, aber diese werden dann nicht im Datensatz gespeichert. Wir haben den IAT deshalb nun so angepasst, dass Sie die fehlenden Felder noch manuell festlegen können.

Erstellen Sie bitte eine Frage "interne Variablen" mit 4 Variablen (für die 4 Extra-Blöcke). Diese Frage ziehen Sie bitte auf die Seite mit dem IAT (die Position auf der Seite ist irrelevant). Mal angenommen, die internen Variablen haben die Kennungen IA02_01 bis IA02_04, dann würden Sie in Ihrem JavaScript bitte noch folgendes ergänzen:

<script type="text/javascript">
SoSciTools.attachEvent(window, "load", function() {
  ...
  SoSciTools.questionnaire.IA01.blockInputs[7] = "IA02_01";
  SoSciTools.questionnaire.IA01.blockInputs[8] = "IA02_02";
  SoSciTools.questionnaire.IA01.blockInputs[9] = "IA02_03";
  SoSciTools.questionnaire.IA01.blockInputs[10] = "IA02_04";
});
</script>

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...