0 votes
in SoSci Survey (dt.) by s083940 (195 points)

Hallo liebes Serviceteam,

in unserem Fragebogen stellen wir Fragen zu Emotionen. Darunter sind Emotionen, die nicht gleichzeitig auftreten können. Um die Probanden darauf hinzuweisen, haben wir eine Filterabfrage implementiert, die bei Nennung beider Emotionen eine Widerholung der Fragebogenseite mit entsprechender Fehlermeldung hervorbringt.

Da wir die Emotionen für einzelne Prozesse abfragen, haben wir sie spaltenweise angeordnet, damit das ganze übersichtlicher aussieht. Der Code hierfür sieht so aus:

if ((value('E101_5') == 2) and (value('E101_12')==2)) {

text('E124');
repeatPage();}

Dies führt dann zu folgendem Bild

Wir würden nun gern, den Probanden ermöglichen, die Spalte mit den widersprüchlich markierten Emotionen leichter zu finden. Hier stoßen wir leider an unsere Grenzen.

Wir haben als Lösungsvariante hierfür überlegt, die entsprechenden Spaltenüberschriften mit rot zu markieren bzw. die widersprüchlich gesetzen Markierungen hervorzuheben, so dass sie leichter gefunden werden können.

Wie lässt sich das am besten umsetzen?

Vielen Dank für Ihre Unterstützung!

Mit besten Grüßen
Sonja

1 Answer

0 votes
by SoSci Survey (328k points)

Ich denke, Sie suchen die Funktion markFail(). Allerdings wird es diese nicht erlauben, die komplette Spalte zu markieren, sondern nur die betroffenen Items.

Wenn Sie tatsächlich die Spalten markieren möchten, müssten Sie voraussichtlich mit Platzhaltern via replace() arbeiten, welche den passenden HTML-Code in die Spaltenköpfe einfügen. Details gerne auf Nachfrage.

by s083940 (195 points)
Danke für Ihre Antwort!
Ich habe jetzt eine Lösung programmiert, in der ich den HTML-Code für die jeweilige Spaltenüberschrift mit einem Platzhalter für die Farbe gesetzt habe (%fehler%). Wenn ich nun aber die Fehlermeldung setze und die Farbe neu besetzen möchte, funktioniert das nicht. Erst wenn ich den Platzhalter für die Farbsetzung auf der Hauptseite entferne, wird die Fehlermeldungsfarbe angezeigt.

Hier noch der Code:
Seite 1: replace('%fehler%', '#000000');
Seite 2:
if ((value('E101_5') == 2) and (value('E101_12')==2)) {
    replace('%fehler%', '#990000');
    text('E124');
    repeatPage();
     }

Wie kann ich es verhindern, dass bei repeatPage() die Farbdefinitionen der Ursprungsseite dominieren?


Vielen Dank
Sonja
by SoSci Survey (328k points)
Technisch wird zunächst die Seite 2 ausgeführt - bis repeatPage() - und dann springt SoSci Survey entsprechend diesem Befehl auf Seite 1 zurück und führt diese komplett aus.

Damit der Platzhalter dabei nicht überschrieben (neu belegt) wird, können Sie wie folgt vorgehen: (1) Wenn es eine weitere Seite vor Seite 1 gibt, dann initialisieren Sie den Platzhalter dort. (2) Verwenden Sie getRoute() um zu überprüfen, ob die Seite wiederholt wurde:

if (getRoute() != 'repeat') {
  replace('%fehler%', '#000000');
}
by s083940 (195 points)
Danke für die Lösung! Nun zeigt er den roten Text an. Leider macht er das für alle Spaltenüberschriften und nicht nur für die fehlerhafte. Wie ließe sich das beheben?

Wäre eine Lösungsmöglichkeit auch über die replace()-Funktion die Farbe der Spaltenüberschrift anzupassen? Sie ist über Auswahloption - Text über den Optionen gesetzt.

Vielen Dank für Ihre Unterstützung!
by SoSci Survey (328k points)
Vermutlich werden Sie nicht nur einen Platzhalter benötigen, sondern einen pro Spalte, z.B. %color.col1%, %color.col2% u.s.w.

> Wäre eine Lösungsmöglichkeit auch über die replace()-Funktion die Farbe der Spaltenüberschrift anzupassen?

Ich ging davon aus, dass Sie genau dies schon machen?!
by s083940 (195 points)
Entschuldigen Sie, ich habe mich nicht korrekt ausgedrückt.
Ich dachte an die Kombination der replace-Funktion mit HTML-Funktion (replace(xy, 'html')). Bis jetzt habe ich die Codes in die jeweilige Spalten inklusive Platzhalter (Auswahloption - Text über den Optionen) händisch gesetzt. Da es sehr viele Spalten sind und in drei Sprachvarianten, wird das sonst sehr mühselig werden, sie einzeln anzupassen.

Ich werde jetzt die Möglichkeit mit verschiedenen Platzhaltern testen.

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

...