Html 如果未选择dropwdown,则提交时不发送GET变量
我有一个表单,用于过滤只包含下拉列表的搜索结果。我使用GET而不是post,这样结果就可以很容易地与URL共享Html 如果未选择dropwdown,则提交时不发送GET变量,html,forms,drop-down-menu,get,submit,Html,Forms,Drop Down Menu,Get,Submit,我有一个表单,用于过滤只包含下拉列表的搜索结果。我使用GET而不是post,这样结果就可以很容易地与URL共享 <form action="" name='filter' method="GET"> <select name="Make" id="Make"> <option selected="selected" value ="nothing">All</option>
<form action="" name='filter' method="GET">
<select name="Make" id="Make">
<option selected="selected" value ="nothing">All</option>
<option value="Toyota">Toyota</option>
<option value="Honda">Honda</option>
</select>
<input type="submit" value="Filter">
</form>
全部的
丰田
本田
如果用户不更改选择,它将提交get变量Make的值“nothing”,则与现在一样。它们有多个下拉列表,与此相同,适用于车型年款等
如果不使用Make变量,它是否可能不会显示在URL中
现在,如果提交该代码,它将显示website.com/?Make=nothing。我尝试删除该值,然后它显示website.com/?Make=All。如果选择了“全部”,我不想在URL中显示make。这可能吗?您没有提交按钮:)
您可以添加一个在提交时运行的JS,并检查
“Make”
的值,如果它是“nothing”
,只需执行一个简单的重定向,而不是提交表单。比如:
var e = document.getElementById("Make");
var val = e.options[e.selectedIndex].value;
if (val === 'nothing'){
window.location = "http://www.google.com/"
}
我简化了代码,忘了添加提交按钮。我将编辑主要帖子。没有JS就没有办法做到这一点吗?你可以用jQuery做同样的事情,或者,将表单的方法更改为
POST
,那么它在URL中就根本不可见了