[请益] textarea 传值问题

楼主: ge002v (ge002v)   2014-04-17 21:39:22
各位大大好 小弟新手
我是用ajax传textarea里的值到另一个php页面
例如: textarea里的值是123&456
在本页用javascript alert印出来看也是123&456
但是到了另一页的php看就变成123而已
也就是说&后面的东西都不见了.....
以下附上code
本页的
<form id="box" name="form3" action="post.php" method="post">
<textarea id="box" name="article" onkeyup="send1(this.value)"></textarea>
</form>
<script type="text/javascript">
function send1(str){
var xmlhttp;
if (window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}else{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("txtHint").innerHTML=
xmlhttp.responseText;
}
}
xmlhttp.open("POST","b.php",false);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-
urlencoded");
xmlhttp.send("str="+str);
}
</script>
另一页
<?php
$str=$_POST[str];
echo $str;
?>
有请各位解答 谢谢
作者: marlu (有甜食就心情好的趴趴熊)   2014-04-17 22:08:00
ajax是以网址将值带至另一页面,所以&被当成网址的一部分了
楼主: ge002v (ge002v)   2014-04-17 22:32:00
感谢m大 原来是这样传值的... 请问这样还有解吗?
作者: mmis1000 (秋月恋枫)   2014-04-17 22:38:00
encodeURIComponent 去查一下这个
作者: Darkland (小黑XDrz)   2014-04-17 22:42:00
你 content-type 设定了 x-www-form-urlencoded 所以你就真的要传 urlencoded 的值,因此请看三楼的
楼主: ge002v (ge002v)   2014-04-17 23:01:00
非常感谢各楼大大们! 问题解决了 在xmlhttp.send前多加个str=encodeURIComponent(str); 这能动了就
作者: danny8376 (钓到一只猴子@_@)   2014-04-21 18:22:00
网址参数只能传文字 非文字要自己转换...
楼主: ge002v (ge002v)   2014-04-21 23:39:00
感谢d大 结果网络上有... http://ppt.cc/IxVj

Links booklink

Contact Us: admin [ a t ] ucptt.com