作者ge002v (ge002v)
看板PHP
標題[請益] textarea 傳值問題
時間Thu Apr 17 21:39:22 2014
各位大大好 小弟新手
我是用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;
?>
有請各位解答 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.230.171.233
※ 文章網址: http://webptt.com/m.aspx?n=bbs/PHP/M.1397741965.A.7F8.html
1F:→ marlu:ajax是以網址將值帶至另一頁面,所以&被當成網址的一部分了 04/17 22:08
2F:→ ge002v:感謝m大 原來是這樣傳值的... 請問這樣還有解嗎? 04/17 22:32
3F:→ mmis1000:encodeURIComponent 去查一下這個 04/17 22:38
4F:→ Darkland:你 content-type 設定了 x-www-form-urlencoded 所以 04/17 22:42
5F:→ Darkland:你就真的要傳 urlencoded 的值,因此請看三樓的 04/17 22:43
6F:→ ge002v:非常感謝各樓大大們! 問題解決了 在xmlhttp.send前多加個 04/17 23:01
7F:→ ge002v:str=encodeURIComponent(str); 這能動了 04/17 23:02
8F:→ ge002v: 就 04/17 23:03
小弟還有個問題想請教
ajax傳陣列給php
var a=4;
var b=0;
var str=new Array(a,b);
xmlhttp.send("str="+str);
本頁的js alert(str.length); 印出來是2
另一頁的php印出來變陣列長度是1 value=4,0
請問為什麼php這邊的長度會變成1 值會變成4,0 還多個逗號
<?php
$str=$_POST[str];
echo count((array)$str);
foreach ((array)$str as $key => $value){
echo "value=".$value."<br>";
}
?>
因為用is_array判斷$str不是陣列 所以才多加(array).....
有請各位解答 謝謝
※ 編輯: ge002v (36.230.171.87), 04/21/2014 17:42:40
9F:→ danny8376:網址參數只能傳文字 非文字要自己轉換... 04/21 18:22