0 votes
in SoSci Survey (dt.) by s113714 (280 points)

Hallo,

ich habe einen Fragebogen mit 10 Seiten erstellt. Auf Seite 8 des Fragebogens befindet sich ein individuell angepasstes Auswahl-Abfolge Element mit 16 Teilfragen. Bei Ausprobieren des Fragebogens ist mir nun aufgefallen, dass der Fragebogen nach Abschluss aller 16 Teilfragen automatisch beendet wird und die Schlussfolie mit "Vielen Dank für Ihre Teilnahme..." erscheint.

Wie kann ich verhindern, dass der Fragebogen an dieser Stelle abbricht, damit die Probanden noch die letzten beiden verbleibenden Seiten bearbeiten können?

Vielen Dank im Voraus!

Hier ist der Pretestlink direkt zur betreffenden Seite 8 im Fragebogen: https://www.soscisurvey.de/bajpc/?act=WGzGY4c7X8yds15wTyejcln0

by s113714 (280 points)
Ich habe den Link aktualisiert, da sich etwas an dem Fragebogen geändert hat:
https://www.soscisurvey.de/bajpc/?act=2bWTo8apKBYgGbjSJl1yrsgz
by SoSci Survey (302k points)
Sie haben gesehen, dass die Darstellung in Firefox noch ... nun ich glaube, es sieht nicht so aus, wie von Ihnen intendiert.

Um Ihre Frage zu beantworten würde ich Sie bitten, die Debug-Information mitzuteilen, welche nach der Weiterleitung zur letzten Seite angezeigt wird. Meine Vermutung ist, dass die Seiten 9/10 keine Inhalte zeigen oder dass weiter vorne mit einem setPageOrder() oder einem setNextPage() gearbeitet wurde. Auch denkbar, dass in der Frage noch eine Filterführung o.ä. gespeichert ist (z.B. wenn die Frage vorher eine normale Auswahlfrage war).
by s113714 (280 points)
Vielen Dank für die schnelle Rückmeldung!

Sie haben recht, die Darstellung in Firefox und Opera ist nicht wie intendiert. Ich habe den Fragebogen in Safari erstellt und dort wird er mir korrekt angezeigt. Was könnten Gründe für die Unterschiede sein?

Zur ursprünglichen Frage: Wenn der Fragebogen nach der genannten Seite abbricht, bin ich nach der Weiterleitung zur letzten Seite automatisch nicht mehr im Debug-Modus. Kann ich die Debug-Informationen auch auf andere Weise auslesen?

Frage 8 war ursprünglich vom Typ Auswahl-Abfolge (mit Reaktionszeit), falls Ihnen das weiterhilft. Ich kann im Debug-Modus von allen Seiten, außer der Seite 8, auf die Seiten 9/10 und die entsprechenden Inhalte wechseln. Wenn Ich jedoch auf Seite 8 bin bricht der Fragebogen sowohl ab, wenn ich auf Seite 9 Wechseln möchte, als auch wenn ich auf eine der anderen Seiten wechseln möchte.

Hier noch ein aktueller Pretestlink zu Seite 8: https://www.soscisurvey.de/bajpc/?act=Qx5qI2h59SSWaaRsiS6w4Aqk
by SoSci Survey (302k points)
> Was könnten Gründe für die Unterschiede sein?

Unterschiedliche Interpretation einiger CSS-Feinheiten ... einfach mal mit den Entwicklerwerkzeugen -> Inspektor im Firefox ansehen, was der so berechnet.

> Wenn der Fragebogen nach der genannten Seite abbricht, bin ich nach der Weiterleitung zur letzten Seite automatisch nicht mehr im Debug-Modus.

Sollten Sie aber noch sein ... es könnte sein, dass das Formular von Ihrem HTML "zerschossen" wird. Aber dann würde man eigentlich nicht zur letzten Seite gelangen.

In der JavaScript-Fehlerkonsole wird folgender Fehler angezeigt:

> ReferenceError: Taste is not defined

Vielleicht prüfen Sie das noch fix.

Ansonsten: Könnten Sie bitte einmal einen Pretest-Link mit Debug-Ansicht erstellen? Das sollte man dort auswählen können. Wenn ich auch damit nicht herausfinde, was schief läuft, würde ich Sie um die Berechtigung für eine Administrator-Freigabe fragen und mir das Problem direkt ansehen.
by s113714 (280 points)
Vielen Dank für die Infos! Die CSS-Feinheiten werde ich mir in Firefox anschauen.

Die Variable "Taste" hatte ich ursprünglich einmal angelegt und dann vergessen Sie zu löschen. Das habe ich nun korrigiert.

Hier ist der Preitest-Link mit Debug-Ansicht ab S.8: https://www.soscisurvey.de/bajpc/?act=NXQocBWcG2oiphInTyIFeoxq

Hier ist nochmal ein zusätzlicher Protest-Link mit Debug-Ansicht für den gesamten Fragebogen, falls das hilfreich ist:
https://www.soscisurvey.de/bajpc/?act=wc9bJa6IxTSwmSNCqcZeoRR5
by SoSci Survey (302k points)
Hmm ... schlecht, dass die Debug-Information nach dem "Weiter" nicht mehr angzeigt wird. Aber es klappt auch nicht korrekt, wenn ich im Debug-Modus oben versuche, eine Variable zu belegen.

Und jetz wird es noch lustiger: Wenn man die URL nach dem unbeabsichtigten Ende nochmal mit einem "Return" bestätigt, dann lädt wieder Ihre Seite mit dem Glücksspielautomaten. Das sürfte nicht sein, denn mit der letzten Seite wird das Interview eigentlich abgeschlossen.

Kurzum: Ich bin ein wenig ratlos. Wären Sie damit einverstanden, wenn ich einen Administrator-Login für Ihr Befragungsprojekt einrichte und mir das Ganze direkt im Projekt ansehe?
by s113714 (280 points)
Natürlich dürfen Sie sich gerne das Befragungsprojekt mit dem Administrator-Login anschauen. Es handelt sich um das Projekt BA_PC. Bisher haben Sie immer den Pretestlink für den Fragebogen G1 bekommen, da G2 und G3 jedoch lediglich Abwandlungen von G1 sind dürfte das Problem dort auch auftreten.

1 Answer

+1 vote
by SoSci Survey (302k points)
selected by s113714
 
Best answer

Danke für die Geduld - es hat nun doch ein wenig länger gedauert, dass ich mich des Problems annehmen konnte. Selbiges dürfte darin liegen, dass Sie neben dem HTML-Code der eigentlichen Frage auch viele Strukturelemente kopiert haben, die SoSci Survey selbständig erzeugt, z.B. folgender Abschnitt:

<table class="layout submitButtons fullwidth" id="buttonsAuto" style="display: none;">
<colgroup><col style="width: 50%"><col style="width: 50%"></colgroup>
<tbody><tr>
<td class="buttonBack"></td>
<td class="buttonNext"><input class="button" name="submitNext" id="submit0" type="submit" value="Weiter" title="Weiter" tabindex="200" style="display: none;"></td>
</tr>
</tbody></table>
</div>

<div>
	<input name="zomplete" value="yes" type="hidden">
</div>
<div><input name="page_form_width" type="hidden" value="800"></div>
<script type="text/javascript">
<!--
SoSciTools.questionnaire.init("questionnaireForm");
// -->
</script>
<!--[if lte IE 9]> </div> <![endif]-->
<script type="text/javascript">
<!--
var SoSciPage = SoSciTools.getPage();  // Instance of SoSciTools.Questionnaire()
var oFbQuestionnaireForm = SoSciPage;
SoSciTools.registerFocus();
SoSciTools.catchEnter();
SoSciEnhancedInputs.instance.initSensitive();
SoSciTools.attachFormInfo();

// -->
</script>

Das sind die Weiter-Knöpfe und interne Variablen zur Kontrolle des Seitenablaufs. Der Knackpunkt dürfen allerdings die folgenden Inhalte zu Beginn Ihres HTML-Codes sein:

<div class="invisible">
	<input type="hidden" name="i" value="JOCYXY3GG411">
	<input type="hidden" name="page" value="3">
	<input type="hidden" name="l" value="ger">
	<input type="submit" name="submitDefault" id="submitDefault" value="↑" title="↑" aria-hidden="true">
</div>

Dort wird eine Variable "i" definiert, die auf ein anderes Interviews verweist als das, das Sie gerade ausfüllen - eines, das schon lange abgeschlossen ist. Und entsprechend springt der Fragebogen beim nächsten "Weiter" in diese (abgeschlossene) Interview.

Insgesamt ist da aber noc eines "schief". So sollten Sie die <meta>-Tags komplett entfernen und der Inhalt aus dem <style> solte mittels pageCSS() eingebunden werden und nicht als HTML-Code (welcher innerhalb und nicht korrekt vor dem <body> steht). Auch die doppelte Einbindung der Scripte ist nicht optimal.

Ich frage einmal andersherum: Weshalb haben Sie denn den HTML-Code der Frage kopiert anstatt eine Original-Frage einzubinden? Womöglich wäre es einfacher (und weniger Fehleranfällig), die Original-Frage zu verwenden und dann mittels CSS und JavaScript die Darstellung und die Inhalte der Elements anzupassen.

Bitte beachten Sie auch, dass in Ihrer aktuellen Lösung keinerlei Daten gespeichert werden, was die Person ausgewählt hat. Der Server weiß ja gar nicht, dass diese Frage auf der Seite erscheinen soll und nimmt entsprechend auch keine Daten davon entgegen.

by s113714 (280 points)
Vielen Dank für die hilfreiche Rückmeldung! Ich habe nun (exemplarisch auf Fragebogen "Replikation", Seite 1) das Szenario als Original-Frage eingebunden und es so anpassen können, dass es so ähnlich aussieht wie vorher. Die Problematik mit dem Abbrechen ist dadurch gelöst und ich hoffe, dass nun auch Daten aufgezeichnet werden.

Das einzige, was mir bei der Darstellung noch Probleme bereitet, ist, dass ich es nicht schaffe, dass sich die Ergebnisanzeige von "GEWINN" oder "VERLUST", nach den einzelnen Teilfragen jeweils nach kurzer Zeit wieder auf "???" zurücksetzt.
Ich habe es mit einer Funktion in Verbindung mit setTimeout versucht, bisher aber ohne Erfolg.

Ich wäre Ihnen sehr dankbar, wenn Sie mir damit gegebenenfalls noch weiterhelfen könnten.
Falls ja: Können Sie das Projekt noch einsehen oder wäre es besser, wenn ich Ihnen einen Pretest-Link oder Teile des Codes schicke?
by SoSci Survey (302k points)
In welchem Fragebogen und auf welcher Seite haben Sie denn die aktuelle Lösung? Dann werde ich nochmal einen Blick darauf.
by s113714 (280 points)
Vielen Dank! Ich habe es bei dem Fragebogen [G1] "Replikation" direkt auf die erste Seite gepackt, damit es gut zu finden ist.
by SoSci Survey (302k points)
Sie müssen den Timer zum "Zurücksetzen" auf "???" direkt starten, nachdem Sie die Anzeige geändert haben. Damit Sie das nicht 20-mal machen müssen, legen Sie eine Funktion an:

function ergebnis(evt) {
    var x = Math.random();
    if(x<2/3){
        document.getElementById("Ergebnis").innerHTML="GEWINN";
    } else{
        document.getElementById("Ergebnis").innerHTML="VERLUST";   
    }
    window.setTimeout(function() {
      document.getElementById("Ergebnis").innerHTML="???";
    }, 1000);
}

Diese Funktion ruft direkt nach dem Setzen einen Timer auf, der dann wiederum die ???-Funktion aufruft. Und statt das 20-mal zu wiederholen, schreiben Sie nur:

document.getElementById("SZ01_01o1", "click", ergebnis);
document.getElementById("SZ01_01o2", "click", ergebnis);
document.getElementById("SZ01_02o1", "click", ergebnis);
document.getElementById("SZ01_02o2", "click", ergebnis);
u.s.w.

Das ginge vermutlich noch deutlich eleganter, aber ich denke, Sie sind damit schon nicht unglücklich.
by s113714 (280 points)
Vielen Dank! Es funktioniert alles wie gewünscht.

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

...