Hallo,
Vorbemerkung: Wozu dient denn dieses Konstrukt?
if(is_empty(startId), -4, startId)
Bei Dir ist es doch eine Konstante (-4).
Dann ist {-4} völlig ausreichend. Daran ändert sich ja nichts.
Wir benutzen diese IF-Geschichte doch nur deswegen, weil die "rand()"-Funktion bei jedem Klick in dieser Gruppe einen neuen Wert liefert.
Also genau wie die "Zufallszahl" in Excel.
In LimeSurvey würde - wenn diese Funktion in einer Gruppe mit anderen Fragen steht oder zu dieser Frage zurückgegangen wird - einen neuen Wert liefern. Das kann dann dazu führen, dass der Teilnehmer "Bild
4" sieht, später im Datensatz aber eine "
2" als erzeugte Zufallszahl steht.
Gut, zu Deiner Frage.
Erzeuge Deine "startId" in einer separaten Gruppe oder zeige "Frage für Frage" an - und gut ist es.
ABER:
Nächste Frage: Wozu soll es eigentlich dienen? Und warum so kompliziert?
Zunächst wird mithilfe einer Gleichungs-Frage eine konstante negative Zahl erzeugt, die dann später zu einer Variablen hinzuaddiert wird.
Aber das ist doch gleichbedeutend mit
{f1.qseq-4}
{self.qseq-4}
Und das funktioniert ja immer - ohne die Doppeldeutigkeit des "+"-Operators.
Joffm