使用GET方法选择表单——是否有可能有一个不向URL添加任何内容的选项?

select form using GET method - is it possible to have an option which appends nothing at all to the URL?

本文关键字:任何内 URL 添加 选项 有一个 选择 方法 GET 表单 是否 使用      更新时间:2023-09-26

在以下表单中,当选择国家/地区选项时,它会将?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它会在后台进入

相关文章: