Seite 1 von 1

Löschen von Anführungszeichen in Textarea in Templates

Verfasst: Do 8. Aug 2013, 06:50
von derSteffen
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

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

Verfasst: Do 8. Aug 2013, 09:50
von Spider IT
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é

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

Verfasst: Do 8. Aug 2013, 10:09
von derSteffen
Ja großartig René,

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

Danke René

MfG Steffen