[請益] 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