Übersetzungen dieser Seite:
 

Dies ist eine alte Version des Dokuments!


Inhaltsverzeichnis

repeatPage()

void repeatPage([string Textbaustein])

Die Funktion repeatPage() zeigt die vorhergehende Seite erneut an. Optional wird ein Textbaustein im Stil einer Fehlermeldung angezeigt. Anwendung findet die Funktion v.a. für individuelle Antwortprüfungen.

  • Textbaustein (optional)
    Falls die Kennung eines Textbausteins angegeben wird (Anzulegen unter Textbausteine und Beschriftung), so wird dieser Textbaustein als Hinweis zu Beginn der wiederholten Seite angezeigt. Der Textbaustein wird dabei genauso formatiert wie andere Meldungen zu fehlenden/fehlerhaften Angaben.

Diese Funktion ist vor allem dann sinnvoll, wenn die Angaben des Befragten auf Ihre Gültigkeit hin überprüft werden. Viele Überprüfungen kann man direkt in der Frage oder dem Item aktivieren (z.B. prüfen, ob alle Items einer Skala ausgefüllt wurden oder ob ein bestimmtes Textformat eingehalten wurde), aber manchmal muss man die Prüfung mittels PHP-Code selbst programmieren. Falls diese Prüfung negativ ausfällt, kann man mit text() einen Textbaustein mit passender Fehlermeldung anzeigen und den Teilnehmer anschließend mit repeatPage() zur vorigen Seite zurück schicken.

Wichtig: Damit repeatPage() korrekt funktioniert, muss die Prüfung auf ungültige Antworten zu Beginn der Fragebogenseite eingebaut werden, welche auf die geprüfte Frage folgt!

Beispiel 1

Im folgenden Beispiel soll der Befragte auf Seite 5 des Fragebogens genau eine von drei Texteingaben (AB01_01, AB01_02 oder AB01_03) ausfüllen. Im Textbaustein „error_1von3“ steht das noch einmal. Auf der Folgeseite, Seite Nr. 6, wird zur Prüfung folgender PHP-Code eingefügt:

$answered = getItems('AB01', 'valid');
if (count($answered) != 1) {
  repeatPage('error_1von3');
}

Beispiel 2

Mithilfe von repeatPage() ist es ebenso möglich, einmalig nachzuhaken, wenn der Befragte eine Frage nicht beantwortet. Im folgenden Beispiel wird überprüft, ob in der Auswahlfrage BB01 eine gültige Option gewählt wurde und ob die Items der Skala BC01 vollständig beantwortet wurden.

Wenn eine der Fragen nicht vollständig beantwortet wurde, wird der Textbaustein „error_missing“ angezeigt und die Seite wiederholt. Allerdings nur einmalig, was durch registerVariable(), die Variable $rPG6 und das isset() zu Beginn sichergestellt wird.

Wenn sich die Fragen auf Seite 6 befinden, muss der folgende PHP-Code auf Seite 7 ganz oben platziert werden.

// Nur wenn $repeatedPG6 noch nicht gesetzt ist, wird geprüft
if (!isset($rPG6)) {
  // Prüfen, ob in der Auswahl BB01 die Antwort fehlt (Code -9)
  $failBB01 = (value('BB01') == -9);
  // Prüfen, ob in der Skala BC01 Items unbeantwortet sind
  $failBC01 = (count(getItems('BC01', 'missing')) > 0);
 
  if ($failBB01 or $failBC01) {
    // Merken, dass Seite 6 wiederholt wird/wurde
    $rPG6 = true;
    registerVariable('rPG6');
    // Vorhergehende Seite erneut anzeigen
    repeatPage('error_missing');
  }
}
de/create/functions/repeatpage.1480449206.txt.gz · Zuletzt geändert: 29.11.2016 20:53 von admin
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Share Alike 4.0 International
Driven by DokuWiki