- This topic is empty.
-
AuthorPosts
-
30. June 2022 at 20:09 #1402Marco RappGuest
Liebe Community,
nachdem Unipark kein Feature für “live trigger” bzw. Einblenden/Ausblenden von Fragen im Abhängigkeit einer Antworte auf derselben Seite bietet würde ich dies gerne mit Java Script umsetzen. Ist dies möglich bzw hat das evtl. schon jemand gemacht? Eine Suche innerhalb der Plattform bzw. via Google war leider nicht erfolgreich.
Liebe Grüße,
MR
30. June 2022 at 20:09 #1403Michael TGuestIch gehöre nicht zu Unipark.
Ja, das ist möglich – auch wenn ich das persönlich nicht empfehlen würde (also das aus- und einblenden von Fragen auf der gleichen Seite) da das meiner Meinung nach den Befragungsfluss unterbricht wenn da auf einmal Fragen “auftauchen”.
Da du Javascript in Betracht ziehst, kennst du dich sicher ein wenig damit aus, daher in Kürze: Du legst auf der gleichen Seite eine Frage vom Typ 998 an, dort kannst du Javascript verwenden. Dazu legst du einen <script> Block an, dort wartest du mit jQuery(document).ready darauf, dass das Dokument geladen ist und kannst dann wieder mit jQuery auf die Formularelemente zugreifen.
Text und Checkboxen kannst du ganz einfach über die HTML-Element-ID ansprechen, welche dem Namen der Uniparkvariable (z.B.: v_17) entspricht. Für Radiobuttons verhält sich das ganze minimal anders, dort wird an die ID noch ein Zähler angehängt (z.B.: v_17x1).
Komplette Fragenblöcke kannst du über die eindeutige CSS-Klasse des HTML Elementes ansprechen “.nameq_{id}”. Die ID ist dabei die ID der Frage, welche im Fragebogen-Editor in Unipark zu sehen ist.
30. June 2022 at 20:10 #1404Marco RappGuestLieber Michael,
danke dir für deine rasche Antwort.
Es geht darum Fragen am Ende der Seite auszublenden, aber verstehe deine Skepsis natürlich.
Nachdem ich die Frage davor, aufgrund von potenziellen Priming-Effekten, nicht stellen kann diese Lösung.
In jedem Fall sehr hilfreich, vielen vielen herzlichen Dank!
Liebe Grüße,
Marco
30. June 2022 at 20:10 #1405Marco RappGuestLieber Michael,
eine Nachfrage noch. Ich habe jetzt beide durchprobiert (siehe Code) jedoch ohne Erfolg. Habe bisher immer mit dem “klassischen” JavaScript gearbeitet ohne auf JQuery zurückzugreifen, wobei letzteres die deutlich elegantere Version ist.
<script>
$(document).ready(function(){
$(v_793x1).click(function(){
$(v_795x1).hide();
$(v_795x2).hide();
$(v_795x3).hide();
$(v_795x4).hide();
// Alternativ $(“.nameq_{v_795}”).hide();
})
})
</script>
Hast du eine Idee woran das liegen könnte? Stackoverflow hat mich leider bisher nicht schlauer gemacht.
LG,
Marco
30. June 2022 at 20:10 #1406Michael TGuestDu kannst auch klassisches Javascript verwenden – dazu würde ich immer tendieren, bevor ich so schwergewichtige Bibliotheken in ein Projekt einbinden würde – allerdings wird das von Unipark mit ausgeliefert, daher habe ich es als Option erwähnt.
Ob es daran liegt, kann ich ohne ausprobieren natürlich nicht sagen, aber ein paar Dinge kannst du ausprobieren:
1) Wenn du Namen von Elementen verwendest, müssen diese in Anführungszeichen (einfach oder doppelt) gesetzt werden, $(v_123x1) wird also zu $(‘v_123x1’) oder $(“v_123x1”). Wenn du Objekte (z.B.: document) verwendest, keine Anführungszeichen.
2) Aufrufe sollten immer mit einem Semikolon abgeschlossen werden, die beiden abschließenden “})” sollten zu “});” werden
3) Die Zeile $(“.nameq_{v_795}”).hide(); ist vermutlich besser wie das ausblenden der Formularelemente, da sonst die Fragestellung sichtbar bleibt. Allerdings ist v_123 nicht die FragenID. Die FragenID ist sieben Ziffern (zumindest bei mir, vielleicht auch mehr/weniger Ziffern) umfassende Nummer, welche im Fragebogen-Editor rechts neben der Bezeichnung der Frage bzw links neben den Infos und den Kopieren/Löschen Buttons angezeigt wird.
Falls das nicht hilft, kannst du mal einen Blick in die Browser-Konsole werfen (Bei Firefox und Chrome unter Windows öffnest du die Konsole mit Strg + Umschalt + i und klickst dort anschließend auf Konsole. Dort werden dann Javascript Fehler und ähnliches angezeigt.
Wenn auch das nicht weiterhilft kann ich dir nur anbieten, dass du die Befragung öffentlich schaltest und mir den Link per PM schickst, die betreffende Seite an den Anfang der Befragung verschiebst und ich mir dass dann direkt anschauen kann.
EDIT:
Vielleicht solltest du auch die Option bedenken, dass ein Teilnehmer aus Versehen die Ausblenden-Option anklickt und danach seine Meinung ändert und die entsprechenden Elemente wieder einblenden.
30. June 2022 at 20:10 #1407Marco RappGuestLieber Michael,
vielen Dank für dem immensen Support. Natürlich sind alles valide Punkte, die du da machst, aber z.B. ad 1) funktioniert der EventListener (.click()) nur ohne die Anführungszeichen. Eigentlich wollte ich mittlerweile schon aufgeben, aber bestärkt von deiner Nachricht habe ich es dann nochmals versucht und der Fehler war die falsche Bezeichnung des CSS Containers. So hat es letztlich funktioniert: $(“.nameq_1234567”).hide();
Nochmals vielen herzlichen Dank! Das Wiedereinblenden funktioniert dann analog auch einwandfrei. Bin Codingtechnisch eher in R zuhause, als ich mich da mal revanchieren kann meld dich jederzeit.
Liebe Grüße aus Wien,
Marco
-
AuthorPosts
- You must be logged in to reply to this topic.