在以下表单中,当选择国家/地区选项时,它会将?country=<value>
附加到URL后面。
我正在尝试创建一个应该不附加任何内容的"All"选项。我在"所有"选项上使用了value=''
,但是它仍然在选择时将?country=
附加到URL上。
是否有可能删除'?country='
,以便在选择"all"时根本没有添加到URL上?
<form method="GET" action="">
<select name="country">
<option selected disabled value=''>Country</option>
<option value="">All</option>
<option>Austria</option>
<option>Denmark</option>
<option>Poland</option>
<input type="hidden" name="date" value="<?php echo $the_date ?>" />
</select>
</form>
N。B.我也有一个隐藏的日期选项,所以完整的URL也可能有一个&date=<value>
。
您正在寻找POST。
<form method="post" action="">
<select name="country">
<option selected disabled value=''>Country</option>
<option value="">All</option>
<option>Austria</option>
<option>Denmark</option>
<option>Poland</option>
<input type="hidden" name="date" value="<?php echo $the_date ?>" />
</select>
</form>
<?php
if(isset($_POST['country']))
{
echo '<br>Country: '.$_POST['country'];
echo '<br>Date: '.$_POST['date'];
}
?>
您可以使用ajax表单提交,这样浏览器的URL就不会改变。但问题是请求要去的URL它会把参数作为查询字符串,但这不会改变浏览器的URL它会在后台进入