Javascript zum Enfernen von letzter Tabellenreihe
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
button
code
dom
eigenschaft
element
entfernen
fehler
folgendes code
gefunden code
grund
helfen
interessanten verhaltens
letzte zeile
problem
reihe
suche
tabelle
url
versuch
zeile
-
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? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
php-oop schrieb:
Dazu gibt es die Eigenschaft
ich suche ein Javascript, welches die letzte eingefügte Zeile entfernt. Dazu habe ich das hier gefunden
.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>
-
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 -
hackyourlife schrieb:
php-oop schrieb:
Dazu gibt es die Eigenschaft
ich suche ein Javascript, welches die letzte eingefügte Zeile entfernt. Dazu habe ich das hier gefunden
.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 -
php-oop schrieb:
Das sollte eigentlich so funktionieren.
Wie kann ich nur eine Reihe löschen?
Interessant daran ist folgendes:
Das sagt mir, dass hier nur 2 Child-Nodes vorhanden sind. Eigentlich sollte aber jedes TR-Element ein Child-Node darstellen.var element = document.getElementById('eintragen'); for(var node in element.childNodes) alert(element.childNodes[node].innerHTML);
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... (?) -
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage