Das & Zeichen in Text bei JavaScript POST data
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
code
date
datei
eingabe
entfernen
filter
folgendes problem
gefunden code
inhalt
page
post
senden
speichern
string
taste
text
url
variable string
weiteres problem
zeichen
-
Hallo
folgendes Problem:
ich sende per jQuery ein POST an eine .php Datei um einen Text zu speichern
function SaveText(string,page) { var mlsec = new Date().getTime(); var dataString = 'text='+ string+"&seite=" + page + "&mlsec=" + mlsec; $.ajax({ type: "POST", url: "post_text.php", data: dataString, cache: false, success: function(inhalt){ $("#eingabe").val(''); $("#content").html(inhalt); } }); }
das funktioniert soweit auch
Aber wenn ich im Text (Variable: string) ein
Zeichen habe&
dann kommt in der .php Datei nur der Text bis zu diesem & Zeichen an,
und der Rest vom Text fehlt ....
wohl deshalb, weil im dataString dadurch eine neue POST Variable erstellt wird
aber soll ja nicht ..... wie kann ich das verhindern, bzw. wie & als String übergeben
so dass der Text nicht ab dem & Zeichen abgeschnitten wird ... escapen? wie?
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
ok, das funktioniert schonmal, danke !
Jetzt habe ich noch ein weiteres Problem ...
... und zwar Prüfung ob der Eingabe-Text (string) nicht "leer" ist
wobei auch bei Eingabe von nur Leerzeichen oder nur Zeilenumbruch (Enter)
auch als "leer" gelten soll.
bisher habe ich es nur so:
if(string == '') { alert('Bitte einen Text eingeben'); } else { string = encodeURIComponent(string); // --- hier der Ajax Post Request ---- }
aber wenn User-Eingabe nur Leerzeichen oder nur Enter-Taste (neue Zeile) ist,
dann kommt bisher auch nicht der alert() sondern es wird gesendet.
ich bräuchte da wohl sowas wie von PHP trim() um Leerzeichen und Zeilenumbruch
am Anfang (und am Ende) des String zu entfernen
Alternativ ginge evtl. auch nur Senden wenn String mindestens n=3 Zeichen hat
aber auch da wäre es blöd, wenn User 3x Leerzeichen eingibt und senden will.
EDIT ... ok .. habe jQuery
gefunden$.trim(str)
string = $.trim(string); if (string.length < 3) { alert('Bitte einen Text mit mind. 3 Zeichen eingeben'); } else { string = encodeURIComponent(string); // --- hier der Ajax Post Request ---- }
das klaptt soweit .... denke ich :)
Beitrag zuletzt geändert: 12.11.2013 13:20:50 von mywebchat -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage