Bernd: Text editieren

Beitrag lesen

Hallo,

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.

ok, hab es etwas umgebaut

<label for="allgemeiner_kommentar">Wünsche</label>	
  <textarea name="allgemeiner_kommentar"
                   id="allgemeiner_kommentar" 
                   class="readonly" 
                   readonly><?php echo htmlspecialchars($b_allgemeiner_kommentar); ?></textarea>

  <button id="kommentar_bearbeiten">Bearbeiten</button>

Und hier der jQuery Code

$(document).ready(function(){

 $( "#kommentar_bearbeiten" ).click(function() {
   $('#allgemeiner_kommentar').prop("readonly", false);
   $('#allgemeiner_kommentar').addClass("edit");
   $('#allgemeiner_kommentar').removeClass("readonly");
 });

});  

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

Den Text möchte ich dann wie hier beschrieben speichern:
https://forum.selfhtml.org/self/2019/jun/22/automatisches-speichern-verarbeiten-nach-eine-klick-auf-ein-option-feld-html/1750959#m1750959

  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.

Ich habe htmlspecialchars hinzugefügt. In der Regel mache ich dieses auch nur hier hatte ich das Problem wenn ich htmlspecialchars nutze, wurde mein nl2br nicht mehr richtig dargestellt, deshalb hatte ich es raus geworfen.

  1. Für solche Interaktionen innerhalb der Webseite, die kein neues Dokument aufrufen, solltest du keinen Link verwenden, sondern besser ein button-Element.

Ok, habe ich auch geändert

<button id="kommentar_bearbeiten">Bearbeiten</button>

Problem ist, ich habe eigentlich noch einen weiteren Link mit Drucken

<a href="drucken-kommentarTa.php?code=<?php echo $_GET['code'] ?>" target="_blank">Drucken</a>

Jetzt stehe die nicht mehr nebeneinander und sehen natürlich total unterschiedlich aus. Hmmm