Löschen von Anführungszeichen in Textarea in Templates

Gesperrt
derSteffen
Beiträge: 847
Registriert: Mi 14. Dez 2005, 16:15
Wohnort: Königs Wusterhausen bei Berlin
Kontaktdaten:

Löschen von Anführungszeichen in Textarea in Templates

Beitrag von derSteffen » Do 8. Aug 2013, 06:50

Hallo ...

manchmal hat man ja in seinen Template-Konfigurationen Textarea und Inputs. In einigen Fällen dürfen aber keine doppelten Anführungszeichen eingefügt werden, da sonst die Datenbank "zerschossen" wird.

Mit einem kleinen JavaScript, kann man die doppelten Anführungszeichen in einfache Hochkomma umwandeln und muss nicht selber über seinen Text lesen und ggf. korrigieren.

Also in euren INPUT folgenden JS-Code einbinden

Code: Alles auswählen

<script type="text/javascript">/* <![CDATA[ */
<!--
function replaceQuote(textAreaControl)
{
   var myText = textAreaControl.value;
   // var myRegExp = /\B"|"\B/g;
   var myRegExp = /"/g;
   myText = myText.replace(myRegExp,'\'');
   textAreaControl.value = myText;
}
--> 
/* ]]> */</script>
Und dann müssen noch die dementsprechenden Textareas und Inputs leicht angepasst werden. Dafür einfach im Input oder Textarea ein bisschen JS onchange="replaceQuote(this)"

Es kann es dann so z.B. aussehen:

Code: Alles auswählen

<textarea name="meintextarea" onchange="replaceQuote(this)"></textarea>
bzw.

Code: Alles auswählen

echo '<textarea name="'."CMS_VAR[300]".'" onchange="replaceQuote(this)">'.htmlentities("CMS_VALUE[300]").'</textarea>';
D.h. sobald man das Textarea oder Input verlassen hat und z.B. irgendwo hinklickt (oder auf den grünen Haken klickt) sollten sich alle doppelte Anführungszeichen in einfache umwandeln.

MfG Steffen
Zuletzt geändert von derSteffen am Do 8. Aug 2013, 10:08, insgesamt 1-mal geändert.

Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: Löschen von Anführungszeichen in Textarea in Templates

Beitrag von Spider IT » Do 8. Aug 2013, 09:50

Moin Steffen!
derSteffen hat geschrieben:Und dann müssen noch die dementsprechenden Textareas und Inputs leicht angepasst werden. Dafür einfach im Input oder Textarea eine eindeutige ID vergeben id="dankestext" und ein bisschen JS onchange="replaceQuote(document.tplcfgform.dankestext)"
Warum eine ID vergeben?
Um das Element zu übergeben reicht auch "this":

Code: Alles auswählen

onchange="replaceQuote(this)"
Gruß
René

derSteffen
Beiträge: 847
Registriert: Mi 14. Dez 2005, 16:15
Wohnort: Königs Wusterhausen bei Berlin
Kontaktdaten:

Re: Löschen von Anführungszeichen in Textarea in Templates

Beitrag von derSteffen » Do 8. Aug 2013, 10:09

Ja großartig René,

das macht die Sache noch einfacher! Ich habe oben den Code angepasst.

Danke René

MfG Steffen

Gesperrt