Hallo Leute
Ich hab mal wieder n Problem im Bezug Internet Explorer und JavaScript.
Folgendes:
Ich habe eine Simple HTML-Seite:
<table border="1" cellpadding="0" cellspacing="0" align="center">
<tbody id="table_test">
<tr id="row_1_">
<td>
<input type="radio" name="test_1_" value="leer" checked>
<input type="radio" name="test_1_" value="voll">
</td>
</tr>
</tbody>
</table>
<script language="javascript" type="text/javascript">
<!--//
~~~~~~javascript
// Hier Clone ich mir erst mal die Zeile
temp = document.getElementById("row_1_").cloneNode(true);
// Dann rufe ich die Namenänderungsfunktion auf
temp2 = change_names(2, temp);
// Hier tu ich einfach mal per Hand die ID der Zeile ändern
temp2.id = "row_2_";
// Und dann noch in den tbody reinbauen
document.getElementById("table_test").appendChild(temp2);
function change_names (next_id, current_node)
{
// Funktion für jedes eigene Kind aufrufen (rekursiv)
for (var i = 0; i < current_node.childNodes.length; i++) {
try { current_node.replaceChild(change_names(next_id, current_node.childNodes[i]), current_node.childNodes[i]); }
catch (e) {}
}
// Wenn ich einen Textknoten habe, dann muss ich nix mehr damit tun --> return
if (typeof(current_node.data) == "string") {
return current_node;
}
// Name ändern
if (current_node.getAttribute("name")) {
current_name = current_node.getAttribute("name");
current_node.setAttribute("name", current_name.replace(/_\d*_/, "_" + next_id + "_"));
}
return current_node;
}
//-->
</script>
So das war mal der Testcode
Wenn ich vor dem Clonen der Zeile auf die Radiobuttons klicke ist es ganz normal... nur einen von beiden
Wenn dann geklont wurde, dann ist das leider nur im IE nicht so schön...
In Allen Browsern gibt es dann sozusagen 2 Paare von radios... nur der IE is irgendwie zu dumm, dass er die radios trennt. Man kann also nur einen von den Vieren anklicken :-/
---> Ihr könnt es ja selbst versuchen ;)
Wie könnte ich denn das schaffen, dass der IE das brav macht ?