Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

CSS Code in if-Bedingung wird nicht verarbeitet

  • Surveylab_KN
  • Surveylab_KN's Avatar Topic Author
  • Offline
  • Senior Member
  • Senior Member
More
5 months 1 week ago - 5 months 1 week ago #265685 by Surveylab_KN
Bitte helfen Sie uns, Ihnen zu helfen und füllen Sie folgende Felder aus:
Ihre LimeSurvey-Version: 6.5.15
Eigener Server oder LimeSurvey-Cloud: LimeSurvey-Cloud
Genutzte Designvorlage: Eigene
==================
Hallo zusammen,
ich möchte in einer Tabelle verschiedene Informationen darstellen, die ich über eine Randomisierungs-Frage aufteile. Das funktioniert auch alles wunderbar. Aber ich würde gerne in der if-Bedingung den Text der angezeigt werden soll farbig hervorheben. In der Ansicht für die Fragebearbeitung wird das auch richtig angezeigt, aber in der Umfragedarstellung wird der komplette Ausdruck nicht verarbeitet.

Hier ein vereinfachtes Beispiel für mein Problem. Vorher bilde ich eine Zufallsvariable mit zwei Ausprägungen.
Code:
{if(randEQ==1,"Textbsp 1: 1.000", if(randEQ==2,"Textbsp 2: <font color="blue">2.000</font>",""))}

Folgendes Beispiel ohne Farbgebung, sondern mir Hervorhebung des Textes als Fett funktioniert wie gewünscht:
Code:
{if(randEQ==1,"Textbsp 1: 1.000", if(randEQ==2,"Textbsp 2: [b]2.000[/b]",""))}

Kann mir jemand sagen warum die Variante mit der Fargebung nicht funktioniert bzw. welche Lösungen hier möglich sind.

Danke schonmal im Voraus!
 

File Attachment:

File Name: limesurvey...olor.lss
File Size:27 KB
Last edit: 5 months 1 week ago by Surveylab_KN.

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
5 months 1 week ago #265691 by Joffm
Hallo,
ganz einfacher Fehler, nämlich "verschachtelte Anführungszeichen".
Du hast doppelte Anführungszeichen innerhalb doppelter Anführungszeichen. Das geht nicht.
Der Text würde ja so aussehen "Textbsp 2: <font color="  Da ist er zu Ende und dann wird es undefiniert.
Du musst einzelne und doppelte Anführungszeichen abwechseln.

Aber Achtung: Der WYSIWYG-Editor liebt es Anführungszeichen von sich aus umzuwandeln. Dann musst Du einfach die andere Reihenfolge wählen.
Da ich den Quellcode-Editor benutze, kann ich es nicht genauer sagen.

Außerdem eine nicht ganz korrekte Syntax von IF. Funktioniert zwar, ist aber unnötig und nicht ganz sauber.
if(Bedingung,WAHR-Teil,FALSCH-Teil)
Also:
Code:
{if(randEQ==1,"Textbsp 1: 1.000", "Textbsp 2: 2.000")}


So jetzt mit Farbe
Code:
{if(randEQ==1,"Textbsp 1: 1.000", "Textbsp 2: <font color='blue'>2.000"</font>")}

wobei ich ein <span style='color:blue'> vorziehen würde.




Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The following user(s) said Thank You: Surveylab_KN

Please Log in to join the conversation.

  • Surveylab_KN
  • Surveylab_KN's Avatar Topic Author
  • Offline
  • Senior Member
  • Senior Member
More
5 months 1 week ago #265721 by Surveylab_KN
Replied by Surveylab_KN on topic CSS Code in if-Bedingung wird nicht verarbeitet
Hallo Joffm,

danke, jetzt funktioniert es. Habe es über den Quellcode-Editor eingegeben, aber der WYSIWG-Editor hat die Anführungszeichen zuerst immer wieder umgewandelt und die gleichen daraus gemacht. Der Tipp mit der Reihenfolge tauschen war aber erfolgreich. Ich bin froh, dass es so ein einfacher Fehler ist. Eigentlich total logisch, aber ich bin nicht darauf gekommen.

Danke auch für den Hinweis zu den if-Bedingungen. Ich hatte diese verschachtelt um sicherzustellen, dass nur bei funktionierender Zufallszahl auch der Text angezeigt wird. Im realen Anwendungsfall gibt es mehr als zwei Ausprägungen für die Zufallvariable.

Please Log in to join the conversation.

Moderators: holchJoffmtpartner

Lime-years ahead

Online-surveys for every purse and purpose