我对那些感觉应该很简单的东西感到难过。我有三个<select>
输入,在提交表单时需要查询字符串中的值;
domain.com/?filter=one,two,three
这可能吗?我应该如何构造name
形式的属性?我还想知道我是否可以在提交后获得$_GET
值服务器端并自己创建阵列并将其设置为页面的URL,但技术上是不是重定向?
理想情况下,这将通过查询字符串完成,因此可以复制和粘贴或共享URL,它也不是敏感数据。希望有人可以帮助...下面的一些粗略标记;
<form action="get">
<select name="filter[]"></select>
<select name="filter[]"></select>
<select name="filter[]"></select>
<button type="submit>Submit</button>
</form>
..并且有一个原因导致所有<option>
元素都不在一个<select>
中,我知道它并不理想!感谢
答案 0 :(得分:1)
我不建议完全使用此代码段,它仅用于演示使用JavaScript的可能解决方案。
HTML:
<form action="get" id="myform">
<input id="filter-result" name="filter" type="hidden">
<input class="filter-value">
<input class="filter-value">
<input class="filter-value">
<button type="submit">Submit</button>
</form>
JavaScript的:
var slice = Array.prototype.slice;
var myform = document.querySelector("#myform");
myform.addEventListener('submit', function() {
document.querySelector("#filter-result").value =
slice.call(myform.querySelectorAll(".filter-value"))
.map(function(input) {
return input.value;
}).join(',');
});
请注意,过滤器值输入没有name
,因此它们不会包含在GET查询字符串中。