borobudur: IE machts, FF nicht!?

Hallo, in einem form habe ich ein select "subjects". Falls das gewünschte subject nicht existiert kann man via einem button eines hinzufügen -> das heisst via javascript wird der select node entfernt und ein input/text node eingehängt. Beides klappt prima im IE und FF, aber wenn ich das formular abschicke erhalte ich serverseits die post-variable (addnewsubj) nur mit dem IE.

Warum macht der FireFox hier probleme?

<SCRIPT language='javascript'>
  function newSubject() {
    var so = document.getElementById("subject");
    var bo = document.getElementById("buttonnewsubj");
    var s1 = document.getElementById("spansubj");
    document.getElementById("tdsubject").removeChild(so);
    document.getElementById("tdsubject").removeChild(s1);
    document.getElementById("tdsubject").removeChild(bo);
    var no = document.createElement("input");
    no.setAttribute("type","text");
    no.setAttribute("name","addnewsubj");
    no.setAttribute("maxlength","100");
    no.setAttribute("size","40");
    document.getElementById("tdsubject").appendChild(no);
  }
</SCRIPT>

Gruss
boro

  1. hi,

    var so = document.getElementById("subject");
        var bo = document.getElementById("buttonnewsubj");
        var s1 = document.getElementById("spansubj");
        document.getElementById("tdsubject").removeChild(so);
        document.getElementById("tdsubject").removeChild(s1);
        document.getElementById("tdsubject").removeChild(bo);

    jwetzt hast du alle options entfernt - aber damit m.E. noch nicht das select selbst.

    du hast also ein leeres selectfeld (könnte man mal mit dem DOM inspector des FF überprüfen) - für das der FF dann vermutlich gar keinen wert übergibt.

    versuche mal, das select auch noch explizit auszulöschen (removeChild() o.ä.); kann könnte vermutlich auch das entfernen der options stattdessen entfallen, wenn du das ganze select wegputzt.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hallo Wahsaga,

      das select entferne ich doch mit

      var so = document.getElementById("subject");
          document.getElementById("tdsubject").removeChild(so);

      Das gewünschte verschwindet auch und mein neues input-text-field erscheint. Mit dem DOM-Inspector sehe ich es auch mit namen, wenn ich aber das form abschicke erhalte ich alle felder ausser dieses. Beim IE klappts wunderbar.

      Gruss aus Genf
      boro

    2. Ich hab's geschafft: Mit dem JavaScript code war alles i.o. aber scheinbar im HTML nicht.

      ich habe den form-node vor den table-node gesetzt und noch zusätzlich den tbody-node hinzugefügt. Jetzt gehts!!