Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : .



Merovinger
15.11.2007, 14:02
.

Manni
15.11.2007, 16:17
Das riecht nach einen Fall für AJAX (http://de.wikipedia.org/wiki/Ajax_(Programmierung)). Wenn du zum Beispiel Prototype (http://de.wikipedia.org/wiki/Prototype) als JS Framework verwenden würdest, dann könntest du es folgendermaßen machen:

<script type="text/javascript">
function delete_entry(id)
{
new Ajax.Request("delete.php?id="+id, { method: 'get' });
$('entry'+id).hide();
}
</script>
<div id="1">Fubar blubb bla</div>
<a href="delete.php?id=1" onClick="delete_entry(1); return false;">Eintrag löschen</a>
Dieser Code ist jetzt nur mal schnell so aus dem Kopf geschrieben, es könnte sein, dass der nicht auf Anhieb funktioniert.

Aber falls er es tut, dann macht er folgendes: Wenn du auf den Link klickst und Javascript aktiviert hast, wird delete_entry() aufgerufen. Diese Funkton ruft die delete.php zum Löschen im Hintergrund auf. Danach wird das <div> mit dem Inhalt ausgeblendet. Der Beitrag wird also direkt gelöscht, ohne Warten auf einen Refresh. Ohne Javascript wird der Link stattdessen direkt aufgerufen, du kannst also eine Meldung nach dem Löschen anzeigen und zurückleiten.

Am besten du beschäftigst dich mal ein wenig mit AJAX und Prototype (oder suchst dir ein anderes Framework aus). Dann kannst du das noch verbessern und zum Beispiel Fehlerbehandlung einbauen oder Effekte oder was-weiß-ich-was ;)

Manni
16.11.2007, 13:12
Öhm ja, sorry. Die ID des <div>s muss natürlich auch entry1 lauten, sonst funktioniert das nicht :) Ein dummer Fehler meinerseits :D