Forms 如何使用GET方法更改URL表单?

Forms 如何使用GET方法更改URL表单?,forms,url,methods,get,Forms,Url,Methods,Get,表格: 如何使用GET方法更改URL表单 之前:测试?cat3=1&cat3=5&cat3=8&cat3=18 之后:测试?cat3=1,5,8,18 我想使用jQuery 非常感谢 给你!本例使用jQuery,将在提问时获取表单元素,并对所需URL执行GET请求。您可能会注意到编码为“%2C”的逗号,但当您在服务器端读取数据时,这些逗号将自动解码 $(文档).ready(函数(){ $('#myForm')。提交(函数(){ //创建表单对象。如果表单中有其他参数,您可以选择在此处序列化

表格:


如何使用GET方法更改URL表单

之前:测试?cat3=1&cat3=5&cat3=8&cat3=18

之后:测试?cat3=1,5,8,18

我想使用jQuery


非常感谢

给你!本例使用jQuery,将在提问时获取表单元素,并对所需URL执行GET请求。您可能会注意到编码为“%2C”的逗号,但当您在服务器端读取数据时,这些逗号将自动解码

$(文档).ready(函数(){
$('#myForm')。提交(函数(){
//创建表单对象。如果表单中有其他参数,您可以选择在此处序列化整个表单
变量参数={
“cat3”:”
};
//循环检查名为cat3的选中项并添加到参数字符串中
$(this).children('input[name=cat3]:checked')。每个(函数(i,obj){
如果(i>0)参数cat3+=',';
params.cat3+=$(obj.val();
});
//通过进入格式正确的GET url“提交”我们的表单
var url=$(this.attr('action')+'?'+$.param(params);
//您可以删除的示例警报
警报(“此表单现在将获得URL:+URL”);
//执行提交
window.location.href=url;
});
});

我的朋友找到了一个解决方案:

$(文档).ready(函数(){
//更改Url格式:&cat3=0&cat3=1&cat3=2->&cat3=0,1,2
var changeUrlForm=函数(catName){
$('form')。在('submit',function()上{
var myForm=$(这是);
var checkbox=myForm.find(“输入[type=checkbox][name=“+catName+”]”);
var-catValue='';
复选框。每个(函数(索引、元素){
var name=element.name;
var值=元素值;
如果(元素已选中){
如果(catValue==''){
catValue+=值;
}否则{
catValue+='‚'+值;
}
element.disabled=true;
}
});
如果(catValue!=''){
myForm.append(“”);
}
});
};
//按“回车”键
$('.search form.inputbox search').keypress(函数(e){
如果(e.which==13){
变更形式(“cat3”);
变更格式(“cat4”);
警报(window.location.href);
}
});
//点击提交按钮
$('.search form.btn submit')。在('click',function()上{
变更形式(“cat3”);
变更格式(“cat4”);
警报(window.location.href);
$(“.search form”).submit();
});
});

1.
3.
5.
7.

2. 4. 6.




这需要JavaScript。您可以使用jQuery吗(这样会更容易)?哦,对不起,我不清楚。我想使用jquery。您应该重新标记问题以包含jquery:)非常感谢@Scott'scm6079'
<form action="/test" method="GET">
    <input name="cat3" value="1" type="checkbox">
    <input name="cat3" value="5" type="checkbox">
    <input name="cat3" value="8" type="checkbox">
    <input name="cat3" value="18" type="checkbox">
    <input type="submit" value="SUBMIT">
</form>