通过location.href传递GET

时间:2011-03-16 08:17:59

标签: php javascript html

我在html表单中使用此代码

 <input name="button" type="button" value="Step 2" onclick="location.href='../ticket/scp/auto.php?dest=../scp/admin.php?t=staff&a=new'"/>

当我使用print_r($ _ GET)时,我得到了

Array ( [dest] => ../scp/admin.php?t=staff [a] => new )

而我希望得到

Array ( [dest] => ../scp/admin.php?t=staff&a=new )

我该如何解决这个问题

3 个答案:

答案 0 :(得分:2)

您需要encode作为参数传递的URI,否则浏览器无法知道哪个部分属于哪个URI:

onclick="location.href='../ticket/scp/auto.php?dest=' + encodeURIComponent('../scp/admin.php?t=staff&a=new')"

您还可以在服务器端对URI进行编码。

答案 1 :(得分:0)

只需将&替换为%26即可。这样就是urlencoded“&amp;”字符,它将包含在值中,而不是作为传递的变量的分隔符。

答案 2 :(得分:0)

试试这个:

<input name="button" type="button" value="Step 2" onclick="location.href='../ticket/scp/auto.php?dest=<? echo urlencode('../scp/admin.php?t=staff&a=new')?>'"/>