0 votes
in SoSci Survey (dt.) by s151788 (130 points)
edited by SoSci Survey

Hallo,

in meinem Fragebogen ist eine Aufgabe mit 3 Fragen (und jeweils 2 Antwortmöglichkeiten: Option A und Option B), die die Versuchspersonen nacheinander beantworten sollen. Hierbei werden die Versuchspersonen in 2 Bedingungen eingeteilt: "Failure Condition" und "Success Condition", d.h. die Person in der "Failure Condition" erhält als Feedback auf ihre Antwortauswahl immer das Feedback "You answered this question incorrect!", dies soll auch direkt auf derselben Fragebogen-Seite erscheinen (dies habe ich soweit auch hinbekommen mittels folgendem Link: https://www.soscisurvey.de/help/doku.php/de:create:dynamic)
Beim Anklicken einer Antwortoption z.B. Antwortoption A soll aber zusätzlich noch die richtige Antwort erscheinen, d.h. "You answered this question incorrect! The correct answer is [Bild von Antwortoption B]". Klickt die Person Antwortoptin B an soll entsprechend "You answered this question incorrect! The correct answer is [Bild von Antwortoption A]" angezeigt werden.
D.h. je nach dem welche der Antwortoptionen (A oder B) die Versuchsperson anklickt soll darauf hin auf der selben Fragebogen Seite die Antwort kommen "You answered this question incorrect! The correct answer is [Bild von Antwortoption, die nicht gewählt wurde]"
Für die beiden Feedbackoptionen - je nach Wahl der Antwortoption habe ich auch schon entsprechende Texte erstellt.

--> Es muss also je nachdem, welche Antwort ausgewählt wurde unterschiedliche „Fragen“ (Texte) eingeblendet werden.
Wie schaffe ich das?

Anbei mein HTML Code, der bisher nur die Frage (bzw. das Feedback) auf derselben Seite erscheinen lässt..

Ich hoffe meine Erklärung war verständlich und freue mich über Ihre Hilfe.
Vielen Dank im Voraus!

<script type="text/javascript">
<!--
var optionA = document.getElementById("R101_01a");  // R101_01a ist die HTML-ID der Auswahloption "A"
var optionB = document.getElementById("R101_02a");  // Option "B"
var frage = document.getElementById("R107_media");
 
function toogle() {
  // Die zwei Pipes (||) sind ein logisches "Oder"
  // Die Bedingung prüft also: Ist Option A ausgewählt oder ist B ausgewählt?
  if ((optionA.checked) || (optionB.checked)) {
    // Wurde "A" oder "B" ausgewählt, dann wird die Frage angezeigt
    // Keine Angabe ("") verwendet die Standard-Einstellung (normal anzeigen)
    frage.style.display = "";
  } else {
    // Mit der Anzeigeoption "none" wird die Frage ausgeblendet
    frage.style.display = "none";
  }
}

 
// Die Funktion soll jedesmal ausgeführt werden, wenn eine der zwei Optionen angeklickt wird
SoSciTools.attachEvent(optionA, "click", toogle);
SoSciTools.attachEvent(optionB, "click", toogle);
 
// Und jetzt gleich soll sie auch ausgeführt werden, damit die Anzeige zu Beginn korrekt ist
// (z.B. ausblenden der Texteingabe zu Beginn)
toogle();
// -->
</script>

1 Answer

0 votes
by SoSci Survey (323k points)

Zunächst werden Sie nicht nur ein "R107_media" brauchen, sondern auch noch zwei Textbausteine für "The correct answer is [Bild von Antwortoption A]" und "The correct answer is [Bild von Antwortoption B]".

In Ihrer Funktion toogle() haben Sie ja bereits eine Überprüfung, ob eine der Optionen angekreuzt ist:

  if ((optionA.checked) || (optionB.checked)) {

Genauso können Sie natürlich prüfen, ob eine bestimmte Option angekreuzt ist:

  if (optionA.checked) {

Und davon abhängig können Sie die allgemeine Meldung "Your answer is incorrect" und die spezifische Meldung ("The correct answer is [Bild von Antwortoption B]") einblenden und die andere Meldung ("The correct answer is [Bild von Antwortoption A]") ausblenden.

Sie sollten nur dafür sorgen, dass man die ausgewählte Option danach nicht mehr ändern kann. Am einfachsten blenden Sie die Auswahlfrage gleich aus, wenn Sie die Meldung anzeigen.

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

...