Der Martin: Text editieren

Beitrag lesen

Hallo,

<div id="komm_va_user">
  <?php echo nl2br($b_allgemeiner_kommentar) ?>
</div>

<a href="">Bearbeiten</a>

ist es möglich mit JavaScript bzw. jQuery folgendes umzusetzen.

Wenn ich auf Bearbeiten klicke soll um das <?php echo nl2br($b_allgemeiner_kommentar) ?> ein Textfeld gelegt werden dass ich den Text bearbeiten kann. Nachdem ich wieder aus dem Feld geklickt habe soll es wieder verschwinden.

frei nach Radio Eriwan: Im Prinzip schon.

Ich würde dafür von vornherein ein textarea-Element vorsehen und dem ein readonly-Attribut mitgeben. Vielleicht auch noch mit CSS den Rahmen wegformatieren, so dass es wie ein gewöhnlicher Textblock aussieht.
Dann mit Javascript a) eine Klasse des Elements umschalten, um andere CSS-Regeln wirksam werden zu lassen, und b) die readonly-Eigenschaft invertieren.

Die Frage ist aber noch: Wie und wo willst du den geänderten Text speichern?

Und dann habe ich noch zwei Anmerkungen:

  1. Niemals mit PHP einfach so Text in den HTML-Kontext spucken. Der sollte immer kontextspezifisch aufbereitet sein, am besten mit htmlspecialchars(). Das nl2br() brauchst du übrigens nicht mehr, wenn du tatsächlich den textarea-Ansatz nehmen willst.
  2. Für solche Interaktionen innerhalb der Webseite, die kein neues Dokument aufrufen, solltest du keinen Link verwenden, sondern besser ein button-Element.

So long,
 Martin

--
Nur den frühen Vogel frisst der Wurm.