Element löschen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Element löschen

    Folgende Anforderung:

    AW selektiert in einer Tabellenzelle einen Wert aus einer Auswahlliste (input type="select").
    In Abhängigkeit der Selektion soll der Inhalt zwei Tabellenzellen weiter angepasst werden.

    Code:
    function onchange(htmlbevent){
    //get id of changed selectbox
    	elementid = htmlbevent._objectID;
    	elementid = elementid.replace(/.*\s/, "");
    
    //get new value
    	newvalue = document.getElementById(elementid).value;
    
    //get reference to selectbox
    	var changed_element = document.getElementById(elementid);
    
    //get reference to surrounding td-tag
    	var parent_cell = changed_element;
    	while (parent_cell.tagName.toLowerCase() != 'td' && parent_cell.parentNode != null) {
    		parent_cell = parent_cell.parentNode;
    	}
    
    	if (newvalue == "91") {
    //move 2 columns right
    		parent_cell = parent_cell.nextSibling.nextSibling;
    //remove all inputfields
    		delete_all_inputfields(parent_cell);
    		htmlbevent.cancelSubmit = true;
    	}
    }
    
    function delete_all_inputfields(parent_cell) {
    
    	var Knoten = parent_cell.getElementsByTagName("input");
    	var element = Knoten[0];
    	alert(element);
    	parent_cell.removeChild(element);
    
    }
    alert(element) liefert mir "[object HTMLInputElement]", das darauf folgende removeChild tut aber nicht.

    Fehlermeldung im Firefox[quote]Fehler: uncaught exception: [Exception... "Node was not found" code: "8" nsresult: "0x80530008 (NS_ERROR_DOM_NOT_FOUND_ERR)" location: "<pfad zum skript> line:352"]
    Zeile 352 ist die Zeile mit removeChild

    Was ist falsch?
    Wie geht's richtig?
    Ich denke, also bin ich. - Einige sind trotzdem...

  • #2
    PHP-Code:

      element
    .parentNode.removeChild(element); 
    mal probiert?


    PS: Wenn in der Zelle nichts ausser das input-Feld ist, tuts auch ein parent_cell.innerHTML = '';

    Kommentar


    • #3
      Geht, danke.

      P.S. Da sind noch andere Elemente, innerHTML ist daher nicht gut
      Ich denke, also bin ich. - Einige sind trotzdem...

      Kommentar


      • #4
        Re: Element löschen

        Original geschrieben von mrhappiness
        Auswahlliste (input type="select").
        Drollig - sein wann gibt's das denn? :-)


        Erklärung für dein Problem:
        Du hast vermutlich in der Tabellenzelle nicht direkt die Inputs liegen, sondern in weitere Elemente verschachtelt?
        Dann sind sie natürlich keine Kinder der Tabellenzelle, also kannst du sie auch nicht durch Aufruf von deren removeChild-Methode entfernen.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Du hast Recht. Mit allem.

          Wie gesagt: ich habe pregos Vorschlag liebgewonnen, da ich keine einfache und elegante Möglichkeit gefunden haben, mich anders zum direkten Elternelement durchzuschlagen
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #6
            Kein Grund sich zu rechtfertigen :-)

            Diese Vorgehensweise ist absolut üblich - und auch die einfachste, wenn man die Referenz auf das zu entfernende Element bereits vorliegen hat.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar

            Lädt...
            X