我使用以下表单作为我的 WordPress 安装上的高级搜索页面的一部分。
<form action="/advanced-search/" method="get">
表单工作正常,但生成的 URL 如下:
/advanced-search/page/3/?act=s&f=cichlidae&g&s&c&r&tmin&tmax&hmin&hmax&pHmin&pHmax&cmin&cmax&sF&sM&aL&aD&aH
有什么方法可以阻止表单发送那些空变量吗?在上面的示例中,仅搜索了 f
(值 cichlidae
)。因此,我希望它生成这样的 URL:
/advanced-search/?act=s&f=cichlidae
(如有必要,还可添加 /page/3/
)。
我无法使用 $_POST
,因为我无法让 WordPress paged
变量与 $_POST
值一起使用。
提前致谢,
最佳答案
为什么不使用 jQuery 的 serialize
收集字符串中所有表单值的方法?
$('form').submit(function() {
var string = $(this).serialize();
window.location.href = '/advanced-search/'+string;
});
它循环遍历所有表单元素,收集它们的值并将其转换为可读的字符串格式以在 URL 中使用。
关于php - 有什么方法可以阻止 GET 方法表单发送空变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10066558/