我有一个form[method=get]
,其中有许多复选框都具有相同的名称。
提交表单时,网址最终看起来像
?MyCB=0&MyCb=4&MyCB=10
我希望GET请求在浏览器中显示为(有效且有效)。
?MyCB=0,4,10
我可以在表单上设置一个属性来执行此操作吗?
最后一种方法是使用jquery拦截GET(这就是为什么我有标记,因为那里有任何辅助函数)。
答案 0 :(得分:2)
您可以使用jquery并执行此操作:
<script>
function sendtheform(){
var theurldata = $("input.MyCBclass").map(function() {
return $(this).val();
}).get().join(",");
window.location ='yoururl.html?MyCB='+theurldata;
}
</script>
以下是表单元素HTML:
<input name="MyCB" class="MyCBclass" type="checkbox" value="1">
<input name="MyCB" class="MyCBclass" type="checkbox" value="2">
<input onClick="sendtheform()" type="button">
这将导致:
yoururl.html?MyCB=1,2
答案 1 :(得分:0)
你甚至不能使用$ _GET并使用jquery处理整个表单,然后将window.location设置为数组。
不幸的是,您无法添加允许表单将多个$ _GET变量压缩到数组中的属性。