Probleme mit Anführungszeichen

Hallo!

Ich habe ein Formular, in das bestimmte Daten eingegeben werden. Ich möchte jetzt aber die Sonderzeichen quoten und hab dabei ein Problem.
Weiß jemand vielleicht, was da falsch sein könnte?

var aktuell = document.Formular.beschreibung.value.replace(/".+/, „“");
document.Formular.beschreibung.value = aktuell;

(–> ersetzt wird das Anführungszeichen mit dem Unicode - wird hier nur gleich umgewandelt).
Wenn ich im Formular(beschreibung) z.B. folgendes eingebe:
Ich „gehe“ heute noch aus - in der Datenbank wird folgendes gespeichert: Ich " - den Rest schneidet er mir einfach weg.

Bin für jede Antwort dankbar!

MfG

Hallo!

Ich habe ein Formular, in das bestimmte Daten eingegeben
werden. Ich möchte jetzt aber die Sonderzeichen quoten und hab
dabei ein Problem.
Weiß jemand vielleicht, was da falsch sein könnte?

var aktuell =
document.Formular.beschreibung.value.replace(/".+/, „“");
document.Formular.beschreibung.value = aktuell;

Hi Markus,

Auf den ersten Blick würde ich sagen der reguläre Ausdruck stimmt nicht und die Doublequotes im zweiten Parameter sind falsch (""" sollte ‚"‘ sein). Das Regex stimmt sicher nicht. Da steht: ersetze alle Zeichen im Text, die einem Doublquote folgen (".+) durch etwas anderes, und der Replace-String ist fehlerhaft. So ist klar, dass der Text abgeschnitten wird.
Lösung:

 var aktuell = document.Formular.beschreibung.value;
 aktuell = aktuell.replace(/"/g,'\\"');
 document.Formular.beschreibung.value = aktuell;

Du sagst aber, Du schreibst das in eine Datenbank. Du machst also die Datenintegrität von einer clientseitigen Skriptsprache abhängig? Das finde ich aber sehr unsicher, die Datenprüfung sollte serverseitig erfolgen. Du solltest Die Programme immer mit deaktiviertem JS testen, sobald das funktioniert, kannst Du die Bedienung mit JS benutzerfreundlicher machen, z.B. Länge der Daten in Eingabefeldern vor dem Abschicken schon kontrollieren. Mach aber nie etwas kritisches von JS abhängig.

Wenn Du MySQL und PHP verwendest bist Du mit addslashes oder htmlspecialchars (für url-Format) aber besser dran.

Schönen Gruß,
Rudy

Vielen Dank für deine Hilfe Rudy!
Es funktioniert! :smile:

Gruß Markus