Dani1987: AJAX + innerHTML + checkboxen + IE == Error

Hi und Guten Abend,

ich habe ein Problem!

Ich habe 10 checkboxen auf meiner Seite. Diese Checkboxen kann ich mit folgender Funktion alle aktivieren bzw. deaktivieren:

[code lang=php]
function selectallcheckboxes(checkboxStatus, formName)
{
 var i = 1;

for(i; i<formName.elements.length; i++)
 {
  if(formName.elements[i].type == 'checkbox')
  {
   formName.elements[i].checked = checkboxStatus;
  }
 }[code]
}klappt auch super! Das Problem ist nun folgendes. Ich verändere den Div-Container in der sich die checkbox befindet. In dem neuen DIV-Container ist aber eine checkboxen mit der gleichen ID. Im FF und so klappt das einwandfrei, der erkennt die neuen, wie die alten Checkboxen nur der IE macht mir ein Strich durch die Rechnung. Hat evt. jemand eine Ahnung was ich da tun könnte?

--
lg dani
  1. Problem gelöst...

    --
    lg dani
    1. Hallo Dani1987,

      Problem gelöst...

      Es ist immer nett zu verraten, wie man ein Problem selbst gelöst hat, da man sonst zukünftig im Archiv Suchende mit dem gleichen Problem, die unter den relevanten Suchbegriffen auf den Thread stoßen, nur unnötig heiß macht, um sie dann im Regen stehen zu lassen.

      Gruß Gernot

  2. Hallo Dani1987,

    Das Problem ist nun folgendes. Ich verändere den Div-Container in der sich die checkbox befindet. In dem neuen DIV-Container ist aber eine checkboxen mit der gleichen ID.

    D.h. du hast gleichzeitig zwei Checkboxen mit der gleichen ID? Das darf natürlich nicht sein! Mich wundert aber, dass der Firefox hier ausnahmsweise mal fehlertoleranter ist als der IE.

    Das hängt in dem Fall wohl damit zusammen, dass der IE das ID-Attribut bei INPUT-Elementen genauso behandelt wie das NAME-Attribut: Mehrere Checkboxen, denen dasselbe NAME-Attribut gegeben wird, verhalten sich wie Radiobuttons und von denen kann halt nur jeweils eines gecheckt sein und die anderen sind es dann eben nicht.

    Ansonsten gilt für dich, falls du den kompletten Inhalt des DIVs inklusive Kindelementen über innerHTML zu ändern trachtest, dasselbe wie für Stefan.

    Gruß Gernot