0 votes
ago in SoSci Survey (dt.) by s163695 (110 points)
edited ago by SoSci Survey

Liebes SoSci-Team,
ich bin etwas ratlos und hoffe auf eure Unterstützung.
In meinem Fragebogen möchte ich per PHP-Code prüfen, ob – abhängig von einer gegebenen Antwort (z.B. „Ja“ bei AF13) – ein dazugehöriges Texteingabefeld (z.B. AF15) ausgefüllt wurde. Falls das Feld leer bleibt, soll eine Fehlermeldung erscheinen und das Weiterklicken verhindert werden. Optimal wäre, wenn das betroffene Feld zusätzlich markiert werden könnte.
Beispiel:
Wenn AF13 mit „Ja“ (=1) beantwortet wird, soll AF15 (Textfeld) verpflichtend sein.

Mein bisheriger Code in einer HTML-Info-Frage sieht so aus:

php

if (
    (value('AF13') == 1 && trim(value('AF15')) == "")
) {
    markFail();
    repeatPage();
}

Ich möchte diese Prüfung für insgesamt fünf solcher Fragepaare umsetzen.
Problem:
Der Code funktioniert nicht wie gewünscht: Es erscheint keine Fehlermeldung, und die Seite wird einfach neu geladen, ohne dass klar ist, was fehlt.

Ich habe bereits verschiedene Varianten ausprobiert und viele Stunden investiert, komme aber nicht weiter.

Fragen:
Was ist der richtige Ansatz, um diese Validierung umzusetzen?
Gibt es eine Möglichkeit, das leere Feld optisch zu markieren?
Muss der Code an einer bestimmten Stelle im Fragebogen platziert werden?
Vielen Dank im Voraus für eure Hilfe!
Herzliche Grüße

1 Answer

0 votes
ago by SoSci Survey (346k points)

Die einfachste Lösung wäre, dass Sie das Textfeld direkt in der offenen Auswahl einbinden - dann kann sich Sosci Survey um die Vollständigkeitsprüfung kümmern: Eingabefelder in einer Auswahlfrage

Falls das aus methodischen Gründen nicht sinnvoll ist, sähe Ihre individuelle Antwortprüfung im Prinzip so aus, wie Sie schon schreiben, Sie würden nur angeben, was markiert werden soll. Und beim Texteingabefeld stimmte die Variablenkennung noch nicht ganz.

if (
    (value('AF13') == 1 && trim(value('AF15_01')) == "")
) {
    markFail('AF15_01');
    repeatPage('AF20');  // Hier tragen Sie die Kennung eines Textes ein, in dem die Fehlermeldung steht
}

Muss der Code an einer bestimmten Stelle im Fragebogen platziert werden?

Am bequemsten unten auf der Seite bei "Verarbeitung der Antworten mittels PHP", alternativ ganz oben auf der folgenden Seite als "PHP-Code".

ago by s163695 (110 points)
Wunderbar, ganz herzlichen Dank! Eine kleine Anschlussfrage: Gibt es die Möglichkeit, den Text hervorgehoben, an der entsprechenden Stelle im FB erscheinen zu lassen? Derzeit wird es nur oben am Seitenanfang ohne besondere Hervorhebung angezeigt.
VG

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

...