Hallo,
ich bin blutiger Anfänger bei HTML/PHP/JavaScript. Alles neu für mich. Bisher hat´s gut geklappt aber jetzt bei JavaScript steh ich komplett an und brauche bitte Hilfe!
Ich frage in meinem Fragebogen verschiedene Smartphone-Inhalte ab. Zu einem Inhalt gibt es jeweils drei Fragen mit dem Fragentyp "Skala (Extrema beschriftet)" (ging leider nicht mit Items, weil sich hierbei die Skalenendpunkte jeweils unterscheiden).
Wünschenswert wäre, wenn bei Frage 1 "Nutzung dieses Inhalts...kommt vor", nie=1 oder weiß nicht=-1 (wie ist das mit nicht beantwortet=-9?) kommt, dass man dann die folgenden zwei Fragen/Skalen (empfinde ich als störend UND führt zum Streit) nicht ausfüllen kann.
Filterfragen kommen für mich nicht in Frage, weil die drei zusammengehörenden Fragen auf einer Seite angezeigt werden sollen.
Ich habe mich an den Text "Fragen bei Auswahl einer bestimmten Option sofort einblenden" gehalten und versucht das zu adaptieren. Leider gibt es kein Beispiel für eine Skala. Hoffe das geht überhaupt.
<script type="text/javascript">
<!--
var optionA = document.getElementById("IH01_011"); // 1 = kommt nie vor
var optionB = document.getElementById("IH01_012"); // 2
var optionC = document.getElementById("IH01_013"); // 3
var optionD = document.getElementById("IH01_014"); // 4
var optionE = document.getElementById("IH01_015"); // 5 = kommt ständig vor
var optionF = document.getElementById("IH01_01DK"); // -1 = weiß nicht
var frage1 = document.getElementById("IE01_qst"); // Frage...empfinde ich als störend
var frage2 = document.getElementById("IS01_qst"); // Frage...führt zum Streit
function toogle() {
if ((optionB.checked) || (optionC.checked) || (optionD.checked) || (optionE.checked)) {
// Wurde Option B, C, D oder E ausgewählt, dann wird die Frage angezeigt
// Keine Angabe ("") verwendet die Standard-Einstellung (normal anzeigen)
frage1.style.display = "";
} else {
// Mit der Anzeigeoption "none" wird die Frage ausgeblendet
frage1.style.display = "none";
}
}
// Die Funktion soll jedesmal ausgeführt werden, wenn eine der vier Optionen angeklickt wird
SoSciTools.attachEvent(optionB, "click", toogle);
SoSciTools.attachEvent(optionC, "click", toogle);
SoSciTools.attachEvent(optionD, "click", toogle);
SoSciTools.attachEvent(optionE, "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>
Hier habe ich es jetzt nur mit Ausblenden von Frage1 probiert. Eigentlich sollen Frage 1 und Frage 2 ausgeblendet werden. Aber ersteres funktioniert schon nicht...
Bin ich das ganze komplett falsch angegangen (z.B. Bezeichnung mit option)? Was ich auch versucht habe, ist das mit der JavaScript-Fehlersuche im Browser, was hier im Forum schon empfohlen wurde. Hierbei erhalte ich: SyntaxError: expected expression, got '<'
Weiß damit leider nicht wirklich was anzufangen, da ich alle <>mit der Beschreibung abgeglichen habe. ist die vorletzte Zeile im Script vielleicht Schuld wegen den //?
Ich war mir auch sehr unsicher ob man die einzelnen Antwortalternativen bei der Frage selbst anführen soll (=so wie jetzt im Script) oder die HTML-ID der Frage selbst und dann die einzelnen Werte mit value=1... Hat so aber auch nicht funktioniert...
Den Textbaustein mit JavaScript habe ich auf der entsprechenden Seite unter den ersten zwei Fragen eingefügt.
Hier also mein großes HILFE! Vielen Dank schon mal!!!