由于表单操作使用的是get方法,因此可以处理提交事件以防止正常提交,并使用
replace()
使用regex函数,然后使用
location.href
要重定向到目标URL,请执行以下操作:
$('form').submit(function (e) {
e.preventDefault();
var queryString = $(this).serialize().replace(/&?[\w\-\d_]+=&|&?[\w\-\d_]+=$/gi, "");
url = this.getAttribute('action') + (queryString.length > 0 ? "?" + queryString : "");
// returns URL /search?q=something when both select elements are empty
location.href = url;
});
或禁用
select
使用
attr()
或
prop()
要防止在查询字符串中使用它们,请使用普通表单提交事件:
$('form').submit(function () {
$('select').each(function () {
if ($(this).val() == '') {
$(this).prop('disabled', 'disabled'); // or prop('disabled', true)
});
});