0 votes
in SoSci Survey (dt.) by s177206 (110 points)

Hallo, ich habe folgende Frage: In meinem zusammengestellten Fragebogen habe ich hinter einem Fragebogen eine leere Seite eingefügt. Auf der leeren Seite befindet sich ein PHP-Code, damit eine interne Variable mit den richtigen Werten erstellt wird, da der Fragebogen von 0-3 statt 1-4 skaliert ist.

Beim Pretest erscheint diese leere Seite und man muss weiter klicken, um auf die nächste (eigentliche) Frage zu kommen. Gibt es eine Lösung, die Seite einfach zu überspringen? Es handelt sich hierbei nicht um eine Filterfrage.

Vielen Dank!

1 Answer

0 votes
by SoSci Survey (303k points)

Normalerweise ist unter Fragebogen zusammenstellen im Karteireiter Einstellungen die Option "Leere Seiten überspringen" markiert. Prüfen Sie bitte mal, ob Sie das evtl. deaktiviert haben.

Falls die Seite dennoch angezeigt wird, erzeugt sie womöglich eine Ausgabe. Ist außer dem PHP-Code sonst noch etwas auf der Seite? Wie lautet der PHP-Code?

by s177206 (110 points)
Vielen Dank für die Antwort. "Leere Seiten überspringen" ist aktiviert.

Der PHP-Code ist für die erste Variante (Schieberegler auf Seite davor):
$input = 'AB07';
$output = 'AB08';
// Liste aller Items erstellen
$items = getItems($input, 'all');
// Alle Items durchgehen
foreach ($items as $item) {
  // id() baut aus einer Fragekennung (AB07) und der Item-Nummer (z.B. 1) eine Item-Kennung (AB07_01)
  // value() ließt den Antwortcode aus
  $orgCode = value(id($input, $item));
  // Nur positive Codes umkodieren
  if ($orgCode > 0) {
    // Subtrahieren von 1
    $newCode = ($orgCode - 1) / 10;
  } else {
    // Fehlercodes beibehalten
    $newCode = $orgCode;
  }
  // put() speichert den Wert in einer internen Variable
  put(id($output, $item), $newCode);
}
Außer dem PHP-Code ist noch folgender HTML-Code auf der Seite:
<script type="text/javascript">
<!--
formatter = function(value, reversed) {
  if (value < 0) return "";
  return (Math.round((value - 1) * 1) / 10).toFixed(1) + " ";
}
SoSciSliders.setFormat(formatter);
// -->
</script>


Für die zweite Variante folgender PHP-Code (Fragebogenitems mit 0 beginnend kodieren statt mit 1 beginnend) :
$input = 'SQ01';
$output = 'SQ03';
// Liste aller Items erstellen
$items = getItems($input, 'all');
// Alle Items durchgehen
foreach ($items as $item) {
  // id() baut aus einer Fragekennung (SQ01) und der Item-Nummer (z.B. 1) eine Item-Kennung (SQ01_01)
  // value() ließt den Antwortcode aus
  $orgCode = value(id($input, $item));
  // Nur positive Codes umkodieren
  if ($orgCode > 0) {
    // Subtrahieren von 1
    $newCode = $orgCode - 1;
  } else {
    // Fehlercodes beibehalten
    $newCode = $orgCode;
  }
  // put() speichert den Wert in einer internen Variable
  put(id($output, $item), $newCode);
}
 
Vielen Dank!
by SoSci Survey (303k points)
Und auf der leeren Seite steht nur der zweite PHP-Code, verstehe ich das korrekt? Oder ist auf der Seite auch noch das

> Außer dem PHP-Code ist noch folgender HTML-Code auf der Seite

Dieser würde nämlich auch als Ausgabe gewertet und würde zum beschriebenen Problem führen. Da dieser Code auch nicht ohne Schieberegler auf der Seite funktioniert, sollten Sie ihn ohnehin entfernen.
by s177206 (110 points)
Vielen Dank für den Hinweis. Ich habe den HTML-Code rausgenommen und nun klappt es so, wie ich es wollte.

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

...