0 votes
in SoSci Survey (dt.) by s104128 (275 points)

Hallo liebes SoSci-Survey Team,

die Probanden werden während meines Fragebogens auf eine externe Seite Internetseite weitergeleitet, um ein programmiertes Spiel zu spielen. Nachdem sie das Spiel gespielt haben, gelangen sie wieder zum Fragebogen. Allerdings genau auf dieselbe Seite im Fragebogen. Es geht also nicht automatisch weiter. Das ließ sich leider nicht anders programmieren.
Auf der Seite des Fragebogen steht eine Instruktion (nur Text). Dann gelangen die Probanden durch das Klicken auf einen Link zum Spiel. Nach dem Spiel landen sie wieder auf der Seite mit dem Instruktionen. Ist es möglich, dass ich bei der ersten "Sichtung" der Instruktionen den weiter-Button für 5 Sekunden ausschalte und dieser aber dann bei der zweiten "Sichtung" sofort angezeigt wird?

Vielen Dank und viele Grüße

1 Answer

0 votes
by SoSci Survey (327k points)

Sie können mittels getRoute() prüfen, ob die Seite das erste mal angezeigt wird. Versuchen Sie es hiermit, um den Knopf auszublenden:

if (getRoute() == 'next') {
   option('nextbutton', false);
}

Ist es möglich, dass ich bei der ersten "Sichtung" der Instruktionen den weiter-Button für 5 Sekunden ausschalte

Ja, auch das. Dafür müssten Sie im obigen Filter mittels text() den passenden JavaScript-Code einbinden (welchen Sie vorher als HTML-Code im Fragenkatalog abgelegt haben).

by s104128 (275 points)
Hallo,

das finde ich eine super Idee. Dann könnte ich auf den 5 Sekunden Timer verzichten.
Ich habe das versucht einzubauen, aber leider bekomme ich den Button nur ausgeschaltet.
Also, die Probanden sehen den Text ohne Weiter-Button, spielen dann das Spiel und kommen dann auf dieselbe Seite zurück. Allerdings erscheint wieder kein Button.
Mein Code lautet wie folgt:

if (getRoute() == 'repeat') {
html('<div style="margin: 4em; text-align: center">'.
  buttonCode('next').
  '</div>');
} elseif (getRoute() == 'next') {
  option('nextbutton', false);
}

Haben Sie eine Idee?

Viele Grüße
by SoSci Survey (327k points)
Lassen Sie den Knopf normal anzeigen und verwenden Sie ausschließlich den obigen Code, um ihm beim ersten Besuch auszublenden. Also wirklich nur die drei Zeilen PHP-Code, sonst nichts.
by s104128 (275 points)
Das klappt leider nicht. Da wird mir kein Weiter-Button angezeigt.
by SoSci Survey (327k points)
Also, wenn man auf einer Fragebogenseite nichts gegenteiliges einstellt, wird ein Weiter-Knopf angezeigt ... wir er denn gezeigt, wenn Sie den PHP-Code ganz weglassen?
by s104128 (275 points)
Ja, genau. Dann erscheint ganz normal der Weiter-Button.
Ich hatte ursprünglich vermutet, dass SoSci Survey nicht erkennt, dass die Seite zum zweiten Mal aufgerufen wird und wollte daher mit einem Timer für den Weiter-Button arbeiten.
Aber dem ist nicht so.
Wenn ich einstelle, dass der Weiter-Button für 5 Sekunden ausgestellt wird, dann ist dieser auch bei der zweiten Sichtung der Seite für 5 Sekunden ausgestellt. Das heißt, die Seite scheint schon neu zu laden.

Daher finde ich es merkwürdig, dass die von Ihnen vorgeschlagene getRoute Funktion nicht klappt. Oder muss ich noch eine interne Variable erstellen, um den Aufruf der Seite zu speichern?

Vielen Dank und viele Grüße
by SoSci Survey (327k points)
> Ja, genau. Dann erscheint ganz normal der Weiter-Button.

Okay, und wenn Sie nun den PHP-Code ergänzen, dann sollte der Knopf verschwinden, solange bis man auf die Seite zurück kommt.

if (getRoute() == 'next') {
   option('nextbutton', false);
}
// Zur Fehlersuche
debug(getRoute());
by s104128 (275 points)
Ok. Ich habe den PHP Code auf der Seite eingegeben.
Dann erscheint folgender Hinweis:

Debug-Information für getRoute():
getRoute() = next (string)

Ist das falsch?

Viele Grüße
by SoSci Survey (327k points)
Das sollte auftauchen, wenn Sie per "Weiter" auf die Seite gekommen sind. Und dann sollte auch kein Zurück-Knopf zu sehen sein. Wenn Sie nun die URL aus der Adressliste des Browser kopieren, wieder einfügen und bestätigen - dann sollte sich die Anzeige ändern und der Weiter-Knopf angezeigt werden.
by s104128 (275 points)
>Das sollte auftauchen, wenn Sie per "Weiter" auf die Seite gekommen sind

Ja genau. Auf der vorherigen Seite klicken die Proband*innen auf "Weiter"

> Und dann sollte auch kein Zurück-Knopf zu sehen sein.

Doch, der Zurück-Knopf ist zu sehen.

>Wenn Sie nun die URL aus der Adressliste des Browser kopieren, wieder einfügen und bestätigen - dann sollte sich die Anzeige ändern und der Weiter-Knopf angezeigt werden.

Wenn ich die Seite kopiere und z.B. in einem neuen Tab oder auch demselben wieder einfüge, erscheint immer noch kein "Weiter"-Button. Auch nicht, wenn ich die externe Internetseite gar nicht geöffnet habe.

Haben Sie vielleicht noch eine Idee, wo der Fehler liegen könnte?

Vielen Dank und viele Grüße
by s104128 (275 points)
Ich habe gerade einmal geschaut, ob der Link derselbe bleibt, wenn ich zur Seite zurückkehre.

Wenn ich das erste Mal auf die Seite komme, lautet der Link:
https://www.soscisurvey.de/XXXX/index.php?i=DPYNX8SEPRIV&rnd=RKIP

Nachdem ich das Spiel gespielt habe und wieder auf die Seite zurückkomme, lautet der Link:
https://www.soscisurvey.de/XXXX/index.php?i=DPYNX8SEPRIV

Also sind die Links minimal anders.
Liegt hier vielleicht das Problem?

Viele Grüße
by SoSci Survey (327k points)
Das `"rnd" steht für "random" und ist tatsächlich nur ein Zufallswert, damit der Browsercache keine veralteten Seiten liefert. Die Links sind funktional also identisch.

Was wird denn vom debug() angezeigt, wenn Sie den Link erneut aufrufen?

>  der Zurück-Knopf ist zu sehen.

Mit dem haben wir bisher ja auch nichts gemacht. Den können Sie separat steuern. Aber jetzt kümmern wir erstmal um den Weiter-Knopf.

Wie kommen die Befragten eigentlich zur externen URL? Verwenden Sie einen Link auf der Seite (daran könnte es liegen) oder ein redirect() ?
by s104128 (275 points)
Ich konnte mein Problem nun anders lösen.
Ich habe einen redirect zur externen Seite eingefügt.
Da ich das "true" im Befehl nicht drin hatte, wurden die Probanden auf dieselbe Seite zurückgeführt. Durch den Befehl true gelangen sie automatisch auf die nächste Seite im Fragebogen, was perfekt ist!

Also für andere Leser:
Mein PHP Befehl lautet:

if (value('RD01') == 1) {
  redirect('https://jst.00101010.de/XXXX/ng1/?i=%caseToken%', true);
}

Vielen Dank für Ihre Unterstützung!
Nun habe ich allerdings wieder das Problem, dass ich automatisch von SoSci ausgeloggt werde, sobald ich den Fragebogen teste.

Viele Grüße
by SoSci Survey (327k points)
Ohne "true" wird der Fall eigentlich beendet, und Sie sehen entweder die erste Seite im Fragebogen oder die letzte Seite. Also, ja, das true brauchen Sie auf alle Fälle :)

> Nun habe ich allerdings wieder das Problem, dass ich automatisch von SoSci ausgeloggt werde, sobald ich den Fragebogen teste.

Leeren Sie bitte einmal den Cache Ihres Browsers. Wenn das nicht hilft, verwenden Sie zum Testen des Fragebogens bitte ein "privates Browserfenster" oder einen zweiten Browser.

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

...