replace
cr
- javascript
Hallo,
ich habe eben gemerkt dass meine Ajax funktion leider den übergebenen Textstring nach einen &-Zeichen abschneidet.
function todo_neuspeichern(){
document.getElementById('loading').style.display="block";
httpObject = getHTTPObject();
if (httpObject != null) {
httpObject.open("POST", "ajax_todo.php", true);
var todo_action_text = document.getElementById("todo_action_text").value;
httpObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
httpObject.send("todo_action_text=" + todo_action_text + "&todo_action=" + "neuspeichern");
httpObject.onreadystatechange = settodo_neuspeichern;
}
}
um dieses problem zu umgehen habe ich mir überlegt, mittels javascript schon beim eingabeformular das &-Zeichen gehen eine "und" auszutauschen. Leider will das nicht so wirklich, ich habe folgendes:
<input type="text" onkeyup="this.value=this.value.replace(\$,'und')" id="todo_action_text" ...
Vielen Dank für eure Tipps zum ersten oder zweiten Problem.
ich habe eben gemerkt dass meine Ajax funktion leider den übergebenen Textstring nach einen &-Zeichen abschneidet.
Dann verwende doch encodeURI/ecnodeURIComponent?
Viele Grüße
_Dirk
Dann verwende doch encodeURI/ecnodeURIComponent?
cool danke! ich habe folgendes gemacht
httpObject.send("todo_action_text=" + encodeURIComponent(todo_action_text) + "&todo_action=" + "neuspeichern");
auf der php seite speichere ich das einfach so ab was ankommt, jedoch wundere ich mich grad das das & direkt als & gespeichert wird ohne irgendwelchen buchstabensalat...ist das normal?
Hi,
httpObject.send("todo_action_text=" + encodeURIComponent(todo_action_text) + "&todo_action=" + "neuspeichern");
auf der php seite speichere ich das einfach so ab was ankommt, jedoch wundere ich mich grad das das & direkt als & gespeichert wird ohne irgendwelchen buchstabensalat...ist das normal?
das &-Zeichen hat im URL-Kontext eine Sonderbedeutung. Nachdem Du es nun korrekt kodiert hast, kann es korrekt vom empfangenden System interpretiert werden.
Warum sollte es anschließend irgend welche Probleme geben?
Beachte einfach immer den Kontextwechsel. Du wirst das alte Motto wieder finden: Kaum macht man es richtig, schon funktioniert's.
Cheatah