Hallo zusammen,
Also ich bin normalerweise kein Javascript Programmierer, daher habe ich wenig Ahnung ueber die ganzen Grundsaetzlichkeiten, und fummle Skripte immer nur nach Bedarf irgendwie zusammen, daher verzeiht mir vielleicht unsauberen JS Code, oder sowas.
Bevor ich euch den Code reinkopiere, erklaere ich mal in Worten, was ich mache, und was passiert.
Ich habe ein Formular (name = "formular") mit Radiobuttons (name ="a1"). Jeder Button ruft onClick die zustaendige Funktion auf, die prueft ob der 7. Radiobutton aktiv ist. Dann soll ein zuvor mit der CSS Angabe "display: none;" versteckter DIV Layer (id = "a11") mit dem Javascript Befehl "a11.style.display = 'block';" sichtbar gemacht werden, um ein weiteres Eingabefeld anzuzeigen. Diese Zeile ist das Problem.
Die Besonderheit ist, dass es ja eigentlich funktioniert. Auf Safari unter OS X, auf Internet Explorer unter Windows, und auf Opera unter Windows. Nicht jedoch auf Firefox. Weder unter OS X noch Windows.
Die Error Console in Firefox meint 'a11 is not defined'. Also ignoriert er wohl auf irgendeine Art und Weise ploetzlich, dass der DIV a11 existiert.
"Ploetzlich" sage ich vor allem deshalb, weil ich als ich das Skript anfing zu schreiben, es ja nur auf Firefox testete und es anfangs klappte, also muss ich irgendetwas geaendert haben, das Firefox nicht passt, aber ich kann nicht nachvollziehen, was es sein koennte.
Hier der Javascript Code:
Code:
<script language="javascript">
function a11Visibility() {
var val = document.formular.a1[7].checked;
if(val == true) {
a11.style.display = 'block';
} else {
a11.style.display = 'none';
}
}
</script> Under der HTML Part:
Code:
<form name="formular" action="index.php?mode=page2" method="POST">
<b>Woher kennst Du unsere Seite?</b><br />
<input type="radio" name="a1" value="1" onClick="a11Visibility()" /> Rezensionen auf derstandard.at<br />
<input type="radio" name="a1" value="2" onClick="a11Visibility()" /> Medienberichte über textfeld (Presse, Unique...)<br />
<input type="radio" name="a1" value="3" onClick="a11Visibility()" /> Wiener Alumni-Verband<br />
<input type="radio" name="a1" value="4" onClick="a11Visibility()" /> Verlinkungen über / Berichte von Strvs, Bagrus, Uniwebseiten...<br />
<input type="radio" name="a1" value="5" onClick="a11Visibility()" /> Werbematerialien<br />
<input type="radio" name="a1" value="6" onClick="a11Visibility()" /> Suchmaschine<br />
<input type="radio" name="a1" value="11" onClick="a11Visibility()" /> Mundpropaganda<br />
<input type="radio" name="a1" value="12" onClick="a11Visibility()" /> Andere <br />
<div id="a11" style="display: none;">Welche? <input type="text" name="a11" value="" maxlength="255" /></div>
</form>
Ich dachte anfangs es koennte ein Problem sein, dass der INPUT Tag innerhalb des DIV auch name= "a11" bekam, wodurch es fuer Javascript nicht mehr eindeutig ist, welcher der beiden gemeint ist, aber ich habe das name Attribut auch schon rausgenommen - es spielt keine Rolle.
Also~ hat irgendwer einen Tipp, wieso Firefox den Befehl "a11.style.display = 'block'" nicht umsetzt? Braucht es zusaetzliche Deklarationen? (simple Dinge wie document.a11.style.display stattdessen zu machen versuchte ich schon, auch kein Erfolg)
Vielen Dank im Vorhinein, falls mir jemand helfen kann und moechte!