Hallo,
ich habe Probleme mitteln js per AJAX Zeichen zu übergeben. ich benutzte prototy und möchte mittels Ajax.Updater einfach eine Variable an eine bestimmte Datei üergeben und dann die Werte in einer bestimmten DivBox ausgeben. Man soll hier nicht den Sinn hinterfragen.
Es geht lediglich darum, dass ich keine Sonderzeichen übergeben kann.
Hier meine Index.html:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Ajax Testseite</title>
<meta http-equiv="content-type" content="application/xhtml+xml;charset=utf-8" />
<script src="myscripts/prototype.js" type="text/javascript"></script>
<script src="myscripts/scriptaculous.js" type="text/javascript"></script>
<script type="text/javascript">
function sendupdater() {
var params = 'beschreibung=' + $('beschreibungid').value;
//var url = 'doit.php';
//var myvar = new Ajax.Updater('testboxjs', 'doit.php');
var myajax = new Ajax.Updater("textboxjs", "doit.php", {parameters : params});
}
</script>
</head>
<body bgcolor="#E9F5FE">
Hier werden wir eine AJAX Umgebung testen:<br /><br />
<input type="text" name="beschreibung" id="beschreibungid" /><br /><br />
<input type="reset" name="senden" value="Abschicken" onclick="sendupdater();" /><br /><br />
javascript direkt:<br />
<div id="textboxjs"></div>
<br /><br />
durch php gelaufen:<br />
<div id="textboxphp"></div>
</body>
</html>
Und hier die doit.php:
<?php
header("content-type: text/html; charset=utf-8");
echo($_POST['beschreibung']);
?>
Letztendlich soll man was in das INPUT Feld eintragen und auf den Button klicken. Der leitet den Value mittels AJAX an doit.php weiter. Dann soll der wert in der divbox "textboxjs" augegeben werden. Funktioniert soweit einwandfrei. Außer bei bestimmten Sonderzeichen:
ein ": wird imme rmit einem backslash übergeben.
ein #: hier wird alles nach dem # einfach abgeschnittten und nicht übermittelt.
ein ?:bei einem ? wird nur der teil vor dem fragezeichenübermittelt.
ein %: hier wird nix übermittelt.
Woran liegt das?? ich habe schon bereits unter (http://www.php.de/datenbanken/46920-...ichenr-db.html) gepostet. Allerdings wurde hier versucht das Problem bei php zu suchen. Aber es liegt eindeutig an js. Die werte werden erst gar nicth korrekt übermittelt.
Kann mir wer weiterhelfen??
Hier ein Link als Beispiel: Ajax Testseite
Danke
go1denboy
ich habe Probleme mitteln js per AJAX Zeichen zu übergeben. ich benutzte prototy und möchte mittels Ajax.Updater einfach eine Variable an eine bestimmte Datei üergeben und dann die Werte in einer bestimmten DivBox ausgeben. Man soll hier nicht den Sinn hinterfragen.
Hier meine Index.html:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Ajax Testseite</title>
<meta http-equiv="content-type" content="application/xhtml+xml;charset=utf-8" />
<script src="myscripts/prototype.js" type="text/javascript"></script>
<script src="myscripts/scriptaculous.js" type="text/javascript"></script>
<script type="text/javascript">
function sendupdater() {
var params = 'beschreibung=' + $('beschreibungid').value;
//var url = 'doit.php';
//var myvar = new Ajax.Updater('testboxjs', 'doit.php');
var myajax = new Ajax.Updater("textboxjs", "doit.php", {parameters : params});
}
</script>
</head>
<body bgcolor="#E9F5FE">
Hier werden wir eine AJAX Umgebung testen:<br /><br />
<input type="text" name="beschreibung" id="beschreibungid" /><br /><br />
<input type="reset" name="senden" value="Abschicken" onclick="sendupdater();" /><br /><br />
javascript direkt:<br />
<div id="textboxjs"></div>
<br /><br />
durch php gelaufen:<br />
<div id="textboxphp"></div>
</body>
</html>
Und hier die doit.php:
<?php
header("content-type: text/html; charset=utf-8");
echo($_POST['beschreibung']);
?>
Letztendlich soll man was in das INPUT Feld eintragen und auf den Button klicken. Der leitet den Value mittels AJAX an doit.php weiter. Dann soll der wert in der divbox "textboxjs" augegeben werden. Funktioniert soweit einwandfrei. Außer bei bestimmten Sonderzeichen:
ein ": wird imme rmit einem backslash übergeben.
ein #: hier wird alles nach dem # einfach abgeschnittten und nicht übermittelt.
ein ?:bei einem ? wird nur der teil vor dem fragezeichenübermittelt.
ein %: hier wird nix übermittelt.
Woran liegt das?? ich habe schon bereits unter (http://www.php.de/datenbanken/46920-...ichenr-db.html) gepostet. Allerdings wurde hier versucht das Problem bei php zu suchen. Aber es liegt eindeutig an js. Die werte werden erst gar nicth korrekt übermittelt.
Kann mir wer weiterhelfen??
Hier ein Link als Beispiel: Ajax Testseite
Danke
go1denboy

Kommentar