0 votes
in SoSci Survey (dt.) by s197103 (140 points)
edited by SoSci Survey

Hallo,

ich habe in meinem Fragebogen die "Akkordeon-Funktion" eingebaut. Es kann entweder eine Liste mit Begriffen geöffnet werden oder nicht. Nun möchte ich aufzeichnen lassen, ob der Akkordeon in den Datensätzen der Personen geöffnet wurde oder nicht (zb. mithilfe einer Variable, die 1=geöffnet und 0= nicht geöffnet anzeigt). Dafür habe ich ein HTML-Code eingefügt, ähnlich wie ich es auf bereits anderen Hilfe-Seiten gefunden habe (W207 ist der Akkordeon). Allerdings funktioniert das Aufzeichnen auf diese Weise nicht. Wie muss ich in diesem Fall vorgehen?

<script type="text/javascript">
function counter(varID) {
  return function() {
    var input = document.getElementById(varID);
    var count = parseInt(input.value);
    if (isNaN(count)) {
      count = 0;
    }
    count++;
    input.value = count;
  }
}
 
document.getElementById("W207_media").addEventListener("show", counter("W207"));
</script>

2 Answers

0 votes
by SoSci Survey (342k points)

Vermutlich liegt es daran, dass "W207" keine interen Variable ist, sondern nur eine Frage vom Typ "interne Variablen"? Wenn dem so ist, müsste es "W207_01" statt "W207" heißen (ganz am Ende).

Wenn es daran nicht liegt, würde ich Sie bitten, dass Sie einen Pretest-Link direkt (!) zur beetroffenen Seite erstellen und posten, damit ich mir den Kontext ansehen kann.

by s197103 (140 points)
Vielen Dank für die Antwort. W207 ist im Fragebogen das angelegte Akkordeon-Element.
by SoSci Survey (342k points)
Gut, dann kann es nicht funktionieren ... die Funktion counter() will eine interne Variable haben, wo sie die Zählung hineinschreiben kann.
by s197103 (140 points)
Können Sie mir beschreiben, wie ich eine interne Variable baue? Ich werde aus den Hilfe-Seiten leider nicht schlau...
by SoSci Survey (342k points)
Eine interne Variable legen Sie im Fragebogenkatalog wie eine normale Frage an, nur dass Sie den Fragetyp "interne Variablen" wählen. Mehr dazu s. auch https://www.soscisurvey.de/help/doku.php/de:create:questions:internal

Damit das JavaScript auf die Variable zugreifen kann, ziehen Sie die interne-Variablen-Frage dann noch auf der entsprechenden Seite in den Fragebogen. Und zwar oberhalb Ihres JavaScript-Codes.
0 votes
by s197103 (140 points)

Das sieht jetzt so bei mir aus. In den erhobenen Daten lässt sich dennoch nicht die Variable finden.

by SoSci Survey (342k points)
Was steht denn rechts unten in der letzten Zeile des JavaScripts?
ago by s197103 (140 points)
.addEventListener("show", counter("W209"));
ago by SoSci Survey (342k points)
Nachdem die Funktion counter() den Variablennamen der internen Variable erwartet und Ihre Frage ja auch mehrere Variablen enthalten könnte, müsste es heißen:

.addEventListener("show", counter("W209_01"));
ago by s197103 (140 points)
Hallo, das habe ich nun geändert, danke. Ich kann aber nachdem ich probeweise durchgeklickt habe, trotzdem die Variable mit den Daten nicht unter den bereits erhobenen Testdaten finden. Irgendwas stimmt da noch nicht, und ich habe leider keine Ahnung was. Haben Sie noch weitere Ideen was ich anders machen sollte?
ago by s197103 (140 points)
Hallo, ich habe den Fehler gefunden. Statt "W207_text" muss es "W207_media" heißen. Jetzt klappt es. Vielen Dank!:)

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

...