kostenloser Webspace werbefrei: lima-city


Javascript zum Enfernen von letzter Tabellenreihe

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    php-oop

    php-oop hat kostenlosen Webspace.

    Hallo,
    ich suche ein Javascript, welches die letzte eingefügte Zeile entfernt. Dazu habe ich das hier gefunden:

    <script language="JavaScript" type="text/javascript">
    <!--
    var rws;
    function RemoveRow(obj){
     obj=document.getElementById(obj);
     rws=obj.getElementsByTagName('TR');
     obj.removeChild(rws[rws.length-1]);
    }
    
    //-->
    </script>


    was aber nicht funktioniert. Es passiert beim Klick auf den Button (<img src=\"delete.png\" onClick=\"deleteRow('eintragen')\">) nichts.

    Zum Einfügen von Zeilen habe ich schon ein Javascript, was auch funktioniert. Ich brauche nur noch ein Script zum Entfernen der letzten Zeile.

    Könnt Ihr mir helfen?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    php-oop schrieb:
    ich suche ein Javascript, welches die letzte eingefügte Zeile entfernt. Dazu habe ich das hier gefunden
    Dazu gibt es die Eigenschaft
    lastChild
    .
    Versuch mal so was:
    <script language="JavaScript" type="text/javascript"><!--
    var rws;
    function RemoveRow(obj){ // obj = Tabellen-ID
     obj=document.getElementById(obj);
     obj.removeChild(obj.lastChild); // letztes Element von obj wird entfernt
    }
    //--></script>
  4. s*************h

    Wenn du Firefox verwendest kannst du dir das Addon Firebug installieren. In diesem aktivierst du die Konsole für Javascript und probierst anschließend die Tabellenzeile mit deinem Javascript-Code zu entfernen. Wenn nun ein Fehler auftaucht wird in der Firebug-Console ein fehler angezeigt welcher dir detailliertere Informationen gibt.

    Das gleiche gibt es auch für Google Chrome nur da ist das Plugin bereits als Standard installiert.

    Wenn es eine Fehlermeldung gibt kannst du sie ja mal hier posten falls du keine Lösung zum Problem findest.

    Gruß S.Brosch
  5. Autor dieses Themas

    php-oop

    php-oop hat kostenlosen Webspace.

    hackyourlife schrieb:
    php-oop schrieb:
    ich suche ein Javascript, welches die letzte eingefügte Zeile entfernt. Dazu habe ich das hier gefunden
    Dazu gibt es die Eigenschaft
    lastChild
    .
    Versuch mal so was:
    <script language="JavaScript" type="text/javascript"><!--
    var rws;
    function RemoveRow(obj){ // obj = Tabellen-ID
     obj=document.getElementById(obj);
     obj.removeChild(obj.lastChild); // letztes Element von obj wird entfernt
    }
    //--></script>


    Danke für deine Antwort!
    Wenn ich jetzt auf den Button klicke, wird die komplette Tabelle gelöscht, aber es soll ja immer nur eine Reihe entfernt werden.

    Die Tabelle sieht so aus:

    <table id="eintragen">
    	<img src="../img/add.png" onClick="addRow('eintragen')"><img src="../img/icons/delete2.png" onClick="deleteRow('eintragen')">
    	<tr>
    	<td><input type="text" name="Menge[]" size="30" style="width: 50px;"  /></td>
    	<td><input type="text" name="Name[]" size="30" style="width: 540px;"  /></td>
    	</tr>
    	<tr>
    	<td><input type="text" name="Menge[]" size="30" style="width: 50px;" /></td>
    	<td><input type="text" name="Name[]" size="30" style="width: 540px;" /></td>
    	</tr>
    	<tr>
    	<td><input type="text" name="Menge[]" size="30" style="width: 50px;" /></td>
    	<td><input type="text" name="Name[]" size="30" style="width: 540px;" /></td>
    	</tr>
    	<tr>
    	<td><input type="text" name="Menge[]" size="30" style="width: 50px;" /></td>
    	<td><input type="text" name="Name[]" size="30" style="width: 540px;" /></td>
    	</tr>
    	</table>


    Wie kann ich nur eine Reihe löschen?

    Beitrag zuletzt geändert: 16.4.2012 13:29:48 von php-oop
  6. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    php-oop schrieb:
    Wie kann ich nur eine Reihe löschen?
    Das sollte eigentlich so funktionieren.
    Interessant daran ist folgendes:
    var element = document.getElementById('eintragen');
    for(var node in element.childNodes)
    	alert(element.childNodes[node].innerHTML);
    Das sagt mir, dass hier nur 2 Child-Nodes vorhanden sind. Eigentlich sollte aber jedes TR-Element ein Child-Node darstellen.
    Deshalb wird auch alles gelöscht und nicht nur die letzte Zeile...

    Kennt irgendwer den Grund des interessanten Verhaltens?

    Wenn du die Tabelle vollständig mit dem DOM aufbaust funktioniert der Code wieder... (?)
  7. Autor dieses Themas

    php-oop

    php-oop hat kostenlosen Webspace.

    hackyourlife schrieb:

    Kennt irgendwer den Grund des interessanten Verhaltens?



    Kann mir einer dabei helfen?

    EDIT: Ich habe das Script mal als Demo eingerichtet: http://php-oop.lima-city.de/test.php

    Das Problem: Wenn ich auf "Zeile löschen" klicke, wird die ganze Tabelle gelöscht, es soll aber jeweils die letzte Zeile gelöscht werden.
    Könnt Ihr mir dabei helfen?

    Beitrag zuletzt geändert: 16.4.2012 17:41:47 von php-oop
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!