Hallo liebe community,
mal wieder ein problem:
Ich versuche ein formular mit ajax zu bauen also dass es nicht neu geladen werden muss. Da hab ich erstmal klein angefangen und ein textfeld und einen button gemacht. der inhalt vom textfeld wird per xmlhttp request an eine php datei gesender (form2.php) die erstmal nichts weiter macht als die übergebene variable auszugeben. Die ausgabe wird dann unterm formular angezeigt..
So weit so gut. Es funktioniert soweit wenn ich es per GET mache. Da ich aber in zukunft relativ große texte versenden möchte ist GET unsinnig und ich will POST verwenden (ist doch richtig denk ich mal oder?!?!)
Und daran scheitert es. Ich bekomme es nach stundenlangem rumprobieren nicht gebacken es per POST zu versenden.
Habt ihr i-welche tipps was man beachten muss und woran es liegen könnte?
Hier mal der GET Code von form 1:
Und form 2:
Und der Code mit POST (nicht funktionsfähig):
Form1:
Form2:
mal wieder ein problem:
Ich versuche ein formular mit ajax zu bauen also dass es nicht neu geladen werden muss. Da hab ich erstmal klein angefangen und ein textfeld und einen button gemacht. der inhalt vom textfeld wird per xmlhttp request an eine php datei gesender (form2.php) die erstmal nichts weiter macht als die übergebene variable auszugeben. Die ausgabe wird dann unterm formular angezeigt..
So weit so gut. Es funktioniert soweit wenn ich es per GET mache. Da ich aber in zukunft relativ große texte versenden möchte ist GET unsinnig und ich will POST verwenden (ist doch richtig denk ich mal oder?!?!)
Und daran scheitert es. Ich bekomme es nach stundenlangem rumprobieren nicht gebacken es per POST zu versenden.
Habt ihr i-welche tipps was man beachten muss und woran es liegen könnte?
Hier mal der GET Code von form 1:
PHP-Code:
<html>
<script type="text/javascript">
function showResult(str)
{
if (str.length==0)
{
document.getElementById("livesearch").innerHTML="";
document.getElementById("livesearch").style.border="0px";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("livesearch").innerHTML=xmlhttp.responseText;
document.getElementById("livesearch").style.border="none";
}
}
xmlhttp.open("GET","form2.php?text="+str,true);
xmlhttp.send();
}
</script>
<form name="form" class="suche">
<input type="text" size="30" name="name" class="suche" />
<input type="button" value="" onclick="showResult(document.form.name.value)">
</form>
<div id="livesearch"></div>
</html>
PHP-Code:
<?php
$text = $_GET["text"];
echo $text;
?>
Und der Code mit POST (nicht funktionsfähig):
Form1:
PHP-Code:
<html>
<script type="text/javascript">
function showResult(str)
{
if (str.length==0)
{
document.getElementById("livesearch").innerHTML="";
document.getElementById("livesearch").style.border="0px";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("livesearch").innerHTML=xmlhttp.responseText;
document.getElementById("livesearch").style.border="none";
}
}
var url = "form2.php";
var params = "text="+str;
http.open("POST", url, true);
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", params.length);
http.setRequestHeader("Connection", "close");
http.send(params);
}
</script>
<form name="form" class="suche">
<input type="text" size="30" name="name" class="suche" />
<input type="button" value="" onclick="showResult(document.form.name.value)">
</form>
<div id="livesearch"></div>
</html>
PHP-Code:
<?php
$text = $_POST["text"];
echo $text;
?>


Kommentar