Hallo Herr Leiner,
ich würde gerne jeweils die Fragen "Gründe1-Gründe5" (offene Texteingabe) einblenden lassen, wenn eine Texteingabe in den jeweiligen Zeilen 1-5 des Fragetyps "Offene Nennungen" erfolgt ist. Also wenn Texteingabe in Zeile 1, dann Frage "Gründe1" usw. Hier mein Versuch in Java anhand ihrer Java-Beispiele in der Hilfe. Leider funktioniert das (noch) nicht, könnten Sie mir vielleicht einen Tipp geben? Herzlichen Dank!
Pretest-Link: https://s2survey.net/Sachsen_Nachhaltigkeit/index.php?i=ENMUPROIJBOB&rnd=ELLV
Java-Script-Versuch:
<script type="text/javascript">
<!--
var Eingabe1 = document.getElementById("AI02x01");
var Eingabe2 = document.getElementById("AI02x02");
var Eingabe3 = document.getElementById("AI02x03");
var Eingabe4 = document.getElementById("AI02x04");
var Eingabe5 = document.getElementById("AI02x05");
var Gründe1 = document.getElementById("AI14_qst");
var Gründe2 = document.getElementById("AI15_qst");
var Gründe3 = document.getElementById("AI16_qst");
var Gründe4 = document.getElementById("AI17_qst");
var Gründe5 = document.getElementById("AI18_qst");
function toogle() {
if (Eingabe1.keypressed) {
Gründe1.style.display = "";
Gründe2.style.display = "none";
Gründe3.style.display = "none";
Gründe4.style.display = "none";
Gründe5.style.display = "none";
}
else if (Eingabe2.keypressed) {
Gründe1.style.display = "none";
Gründe2.style.display = "";
Gründe3.style.display = "none";
Gründe4.style.display = "none";
Gründe5.style.display = "none";
}
else if (Eingabe3.keypressed) {
Gründe1.style.display = "none";
Gründe2.style.display = "none";
Gründe3.style.display = "";
Gründe4.style.display = "none";
Gründe5.style.display = "none";
}
else if (Eingabe4.keypressed) {
Gründe1.style.display = "none";
Gründe2.style.display = "none";
Gründe3.style.display = "none";
Gründe4.style.display = "";
Gründe5.style.display = "none";
}
else if (Eingabe5.keypressed) {
Gründe1.style.display = "none";
Gründe2.style.display = "none";
Gründe3.style.display = "none";
Gründe4.style.display = "none";
Gründe5.style.display = "";
}
else {
Gründe1.style.display = "none";
Gründe2.style.display = "none";
Gründe3.style.display = "none";
Gründe4.style.display = "none";
Gründe5.style.display = "none";
}
}
// Die Funktion soll jedesmal ausgeführt werden, wenn eine der fünf Eingabefelder angeklickt wird
SoSciTools.attachEvent(Eingabe1, "keypressed", function() {
window.setTimeout(toogle, 200);
});
SoSciTools.attachEvent(Eingabe2, "keypressed", function() {
window.setTimeout(toogle, 200);
});
SoSciTools.attachEvent(Eingabe3, "keypressed", function() {
window.setTimeout(toogle, 200);
});
SoSciTools.attachEvent(Eingabe4, "keypressed", function() {
window.setTimeout(toogle, 200);
});
SoSciTools.attachEvent(Eingabe5, "keypressed", 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>