Zeile aus Tabelle löschen
Klaus
- javascript
Hallo,
ich würde gerne eine Zeile aus einer Tabelle löschen.
Wenn ich das Löschen über einen input-Button anstoße funktioniert es, bei einem Link <a> funktioniert es nicht. Warum?
Hier der Code, der nicht funktioniert (r.parentnode is undefined)
<html>
<head>
<script type="text/javascript">
function deleteRow(r)
{
var i=r.parentNode.parentNode.rowIndex;
document.getElementById('myTable').deleteRow(i);
}
</script>
</head>
<body>
<table id="myTable" border="1">
<tr>
<td>Row 1</td>
<td><a href="javascript:deleteRow(this);">delete</a></td>
</tr>
<tr>
<td>Row 2</td>
<td><a href="javascript:deleteRow(this);">delete</a></td>
</tr>
<tr>
<td>Row 3</td>
<td><a href="javascript:deleteRow(this);">delete</a></td>
</tr>
</table>
</body>
</html>
und hier im Vergleich, der der funktioniert:
<html>
<head>
<script type="text/javascript">
function deleteRow(r)
{
var i=r.parentNode.parentNode.rowIndex;
document.getElementById('myTable').deleteRow(i);
}
</script>
</head>
<body>
<table id="myTable" border="1">
<tr>
<td>Row 1</td>
<td><a href="javascript:deleteRow(this);">delete</a></td>
</tr>
<tr>
<td>Row 2</td>
<td><a href="javascript:deleteRow(this);">delete</a></td>
</tr>
<tr>
<td>Row 3</td>
<td><a href="javascript:deleteRow(this);">delete</a></td>
</tr>
</table>
</body>
</html>
Hi,
Wenn ich das Löschen über einen input-Button anstoße funktioniert es, bei einem Link <a> funktioniert es nicht. Warum?
Du meinst sicher: Es funktioniert wunderbar aus einem Event-Handler heraus, nicht jedoch aus einer URL. Stimmt. Was folgende Fragen aufwirft:
1.) Warum benutzt Du eine URL anstatt eines Event-Handlers?
2.) In Folge der Konsequenz auf Frage 1: Wenn Du ohnehin keine URL hast, auf die Du verlinken kannst, warum um alles in der ach so gepeinigten Welt willst Du ausgerechnet einen Link verwenden?!
Cheatah
1.) Warum benutzt Du eine URL anstatt eines Event-Handlers?
2.) In Folge der Konsequenz auf Frage 1: Wenn Du ohnehin keine URL hast, auf die Du verlinken kannst, warum um alles in der ach so gepeinigten Welt willst Du ausgerechnet einen Link verwenden?!
Liegt wohl daran, dass ich mich bisher noch nicht damit beschäftigt habe, wie ich Buttons so aussehen lassen kann, dass sie nur die Grafik anzeigen und keinen Rahmen etc. und da Links die bisher bequemere Variante waren.
Zumal ich Pfade zu Grafiken dynamisch setze (per PHP ermittelt) und mir nicht bekannt ist, wie ich das in CSS machen kann, ohne dass ich für jede Variante eine eigene CSS-Datei referenziere.
Klaus
Hi,
Liegt wohl daran, dass ich mich bisher noch nicht damit beschäftigt habe, wie ich Buttons so aussehen lassen kann, dass sie nur die Grafik anzeigen und keinen Rahmen etc.
onclick kann auch bei img genutzt werden.
Abgesehen davon: border:none; und ggf. noch padding auf 0 gesetzt sollte aber auch den Button "nackt" machen.
cu,
Andreas
Moin!
Zumal ich Pfade zu Grafiken dynamisch setze (per PHP ermittelt) und mir nicht bekannt ist, wie ich das in CSS machen kann, ohne dass ich für jede Variante eine eigene CSS-Datei referenziere.
Mit einer dynamischen CSS-Datei wuerd ich sagen.
Hi,
Hier der Code, der nicht funktioniert (r.parentnode is undefined)
und hier im Vergleich, der der funktioniert:
Die zwei Unterschiede zwischen beiden Schnippseln sind die Leerzeilen vor/nach der Tabelle, die im ersten Fall fehlen und im zweiten Fall vorhanden sind.
Bist Du sicher, daß das der Code ist, den Du uns zeigen wolltest?
cu,
Andreas