0 votes
in SoSci Survey (dt.) by s081613 (575 points)
edited by s081613

Hallo zusammen,
ich versuche gerade eine JavaScript-Anbindung mit einer "Texteingabe mit Auswahlempfehlung" zu erstellen, die auf der selben Seite eine Folgefrage ebi "Firma 5" eine Folgefrage einblendet bzw. ausgeblendet lässt sofern die übrigen Firmen ausgefählt werden. Leider erhalte ich die Fehlermeldung "suggestWK14 is not defined" in der Konsole.
Vermnutlich binde ich die JavaScript-Objekt falsch ein, finde aber auch keine Lösung
Folgend der Link zur Pretest-Frage:
https://www.soscisurvey.de/test174408/?act=XDoCCy4It9TqkWDih6HAmUqY
Vielen Dank schon Mal & viele Grüße

by SoSci Survey (303k points)
Der Pretest-Link scheint nicht mehr gültig. Unter "Befragungsprojekt" -> "Pretest und Vorschau" können Sie einen Pretest-Link anlegen.
by s081613 (575 points)
Ich habe einen neuen Pretest-Link hinterlegt

1 Answer

0 votes
by SoSci Survey (303k points)
selected by s081613
 
Best answer

Blockquote

Danke für den neuen Pretest-Link.

Das JavaScript-Objekt für die "Texteingabe mit Eingabeaufforderung" wird erst am Ende des Dokuments definiert. Führen Sie Ihren Code bitte entsprechend erst nach dem Laden der Seite aus. Genau genommen muss nur der Aufruf von blender in das onload-Event verschoben werden:

function blender() { 
  var frage = document.getElementById("Firma5");
  if (suggestWK14.value== "Firma 5") {
    frage.style.display = "";
  } else {
    frage.style.display = "none";
  }
} 

// Nun muss die Funktion noch mit dem change-Ereignis des ersten
// Dropdowns verknüpft werden
window.addEventListener("load", function() {
  // Die Funktion sollte zunächst einmal direkt aufgerufen werden,
  // es müssen zunächst alle Dropdowns ausgeblendet werden
  blender();

  // Reaktion auf Eingaben
  suggestWK14.addEventListener("change", blender);
  suggestWK14.addEventListener("keyup", blender);
});

Aktuell gibt es auf der Seite auch noch kein Element mit der HTML-ID "Firma5", worauf sich Ihre blender()-Funktion bezieht:

var frage = document.getElementById("Firma5");

Es wird also weiterhin erstmal nichts passieren.

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

...