T3afBon3: getElementByID unter IE 6?

Beitrag lesen

Ich habe eine HTML-Seite, deren Design mittels mehrerer Tabellen aufgebaut wird. Der Inhalt der Seite sind Umfragen. Ich wollte jede Umfrage jeweils in einen eigenen <form>-Bereich stecken. Sieht dann ungefär so aus:

<form name="form_1" id="form_1" method="post" action="polls_save.php">
<span style="display: none" id="span_1" name="span_1">

//Umfrageinhalt Checkboxen oder Radio und ein Submitbutton

</span>
</form>

//nächste Umfrage

<form name="form_2" id="form_2" method="post" action="polls_save.php">
<span style="display: none" id="span_2" name="span_2">

//Umfrageinhalt: Checkboxen oder Radio und ein Submitbutton

</span>
</form>

Wie Ihr sehen könnt ist der <span>-Bereich mittels CSS am anfang unsichtbar. Jetzt steht über jeder Umfrage ein Link, der bei anklicken, den <span>-Bereich sichtbar machen soll:

<a class="vote" href="#" onClick="show_vote('span_1');return false;">Umfrage 1</a>^

Beim Anklicken wird folgende Javascript-Funktion aufgerufen:

function show_vote( id_span )
{
span = "span_"+id_span;
displayType = ( document.getElementById( span ).style.display == 'none' ) ? 'block' : 'none';
document.getElementById( span ).style.display = displayType;
}

Bei Netscape funktioniert es einwandfrei. Die Funktion spricht das Element "Span" ohne Probleme an und macht es sichtbar und unsichtbar. Auch ist es möglich den Button zum Versenden zu betätigen und die Werte mittels POST zu versenden.

Beim Internet Explorer 6 spricht er mir das Span-Element nicht an und sagt mir, dass er das Object nicht findet. Allerdings ist es im Quelltext definiert. Was jetzt sonderbar ist, wenn ich die <span>-Bereiche ohne den <form>-Bereich definiere und es dann ausführe funktioniert es. Das einzige was halt dann nicht geht, ist, dass ich die Werte nicht mittels POST verschicken kann, was aber unbedingt nötig ist.

<span style="display: none" id="span_1" name="span_1">

//Umfrageinhalt Checkboxen oder Radio und ein Submitbutton

</span>

//nächste Umfrage

<span style="display: none" id="span_2" name="span_2">

//Umfrageinhalt: Checkboxen oder Radio und ein Submitbutton

</span>