我正在尝试传递一个网址:
my_url ='http://somedomain.com/somepath/somepage?key=“查询”';
当有人点击表单时
我尝试使用encodeURI和encodeURIComponent,甚至使用警报来查看我有“查询”或%22query%22,因为我调用了类似document.my_form.action = my_url的内容但是当浏览器点击该页面时,我得到了:
http://somedomain.com/somepath/somepage?key=query
缺少双引号。 “=”,“@”的类似尝试都被保留了...有什么我想念的吗?
感谢。
答案 0 :(得分:1)
在GET方法表单的action属性中使用查询字符串将导致查询被表单本身的变量覆盖。
您可以尝试将您的值添加为隐藏的输入字段(使用JavaScript)。
我尝试了你的代码,它对我很有用:
<?php
print_r($_GET);
?>
<br>
<form id="testForm" method="post">
<input type="submit">
</form>
<script>
var actionUrl = "http://domain.com/test.php?key=" + '"query"';
document.getElementById("testForm").action = actionUrl;
</script>
Output:
Array ( [key] => "query" )