====== goToPage() ======

''void **goToPage**(string //Seitenkennung//)''

Springt (ohne weitere Befehle der aktuellen Seite auszuführen) direkt zu einer anderen Seite des Fragebogens und zeigt die Fragen dort an. Falls auf der aktuellen Seite bereits Fragen oder Text ausgegeben wurden, wird der Inhalt der andere Seite direkt angehängt. Mit ''goToPage()'' werden also u.U. die Inhalte mehrerer Fragebogen-Seiten auf einer Seite angezeigt.

  * //Seitenkennung//
    * Die Kennung jener Seite, auf der es weitergeht. Für diese Seite (das Sprungziel) muss man beim Zusammenstellen des Fragebogens eine Kennung vergeben.
    * Anstatt einer existierenden Kennung können auch '''end''' (Interview beenden) und '''next''' (nächste Seite) verwendet werden.

{{:de:create:functions:scr.gotopage.pageid.png?nolink|Eintragen einer Seitenkennung}}

  * Der Befehl ''goToPage('end')'' beendet die Befragung umgehend und zeigt die letzte Seite ([[#interview_beenden|Interview beenden]]).
  * Der Befehl ''goToPage('next')'' springt immer zur folgenden Seite im Fragebogen.

**Wichtig:** Man kann die Texte '''end''' und '''next''' auch als Kennungen für existierende Seiten eintragen. In diesem Fall werden die Sonderfunktionen dieser Kennungen deaktiviert und ''goToPage()'' springt zu den entsprechenden Seiten.


===== Beispiel =====

Siehe auch [[:de:create:filters]]

Das folgende Beispiel geht davon aus, dass auf Seite 1 des Fragebogens eine Mehrfachauswahl ''AB02'' mit 8 Items angeboten wurde. Falls der Teilnehmer die Option Nr. 7 (''AB02_07'') ausgewählt hat, soll die Seite 2 im Fragebogen mittels ''goToPage()'' übersprungen werden. Die Seite 3 im Fragebogen -- das Sprungziel -- hat die Seitenkennung "pa".

<code php>
if (value('AB02_07') == 2) {
  goToPage('pa');
}
question('XY01', '1,3,4,5');
</code>

Anzumerken ist hierbei, dass alle Inhalte von Seite 2, die hinter dem Filter stehen -- im Beispiel z.B. die Frage ''XY01'' -- nur dann angezeigt werden, wenn Option Nr. 7 nicht ausgewählt wurde. Falls ''goToPage()'' zum Einsatz kommt, werden die nachfolgenden Inhalte nicht mehr angezeigt. Die Inhalte auf Seite 3 sehen dann wieder alle Befragten.

**Tipp:** Falls Sie eine Seite erneut anzeigen möchten, weil die Angaben des Teilnehmers unvollständig waren, verwenden Sie statt '''goToPage()'' die Funktion ''[[:de:create:functions:repeatpage|repeatPage()]]''. So bleibt der Zurück-Knopf im Fragebogen voll funktionstüchtig.

**Tipp:** Beachten Sie auch die Funktion ''[[:de:create:functions:setnextpage|setNextPage()]]''. Diese Funktion springt nicht direkt zu der angegeben Seite, sondern erst nachdem der Teilnehmer auf "Weiter" geklickt hat.


===== Interview beenden =====

Der Befehl ''goToPage('end')'' beendet die Befragung sofort. Falls auf der aktuellen Seite bereits Fragen ausgegeben wurden, werden diese __nicht__ mehr angezeigt. Verwenden Sie diesen Befehl daher __nicht__ auf einer Seite, deren Inhalt noch angezeigt werden soll. Stellen Sie das ''goToPage('end')'' ggf. an den Anfang der folgenden Seite.

<code php>
// Falls kein Kreuzchen bei "Ich möchte an der Studie teilnehmen"
// (AB01_01) gesetzt wurde, springt der Fragebogen direkt zur Verabschiedung
if (value('AB01_01') == 1) {
  goToPage('end');
}
</code>

**Hinweis:** Verwenden Sie die Kennung "end" nicht für eine existierende Seite im Fragebogen. Sonst führt der Befehl ''goToPage('end')'' zu dieser Seite und beendet das Interview nicht mehr.

**Tipp:** Wenn Sie das Interview beenden möchten, aber einen anderen Text anzeigen möchten, verwenden Sie __nicht__ ''goToPage('end')'', sondern ''buttonHide()'' in Verbindung mit einem Textbaustein. Der Teilnehmer kann dann diese Seite nicht mehr verlassen -- das Interview ist faktisch beendet, allerdings wird es im Datensatz nicht als abgeschlossen (FINISHED) markiert.

<code php>
if (value('AB01') < 2) {
  text('no interest');
  buttonHide();
}
</code>
