用JQuery的方式把name相同的元素按照数组方式提交到后台

本文探讨了使用JQuery处理表单中多个相同名称元素的方法,并对比了不同情况下Java后端如何正确获取这些数据。同时,文章还讨论了在使用JQuery $.post与传统表单提交时,参数传递的不同之处。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果直接放到form里面,名字相同的多个元素只需要在后台用request.getParameterValues(name)就可以了,JQuery用如下方式处理:

注意:后端貌似真得用request.getParameterValues(name[])的方式才能取到值,通过浏览器的network也可以看到http请求信息里面传的参数名就是name[]这种格式的

解决方法:
客户端:
        var monthIncome = $.map($("input[name='monthIncome']"),function(obj){
            return $(obj).val();
        });
        $.post("/update-month-income.jspx",
            {year:2008,monthIncome:monthIncome},
            function(){
                //refresh after input data is saved.
            });
Java服务端:
request.getParameter("year");
request.getParameterValues("monthIncome");

问题在于:
jQuery的例子里给的是这样的
$.post("test.php", { 'choices[]': ["Jon", "Susan"] });
按这个例子做,在Java里用request.getParameterValues("monthIncome");取不到值,
要这样才行request.getParameterValues("monthIncome[]");
但是不用jQuery,用form提交的时候,以前一直是用request.getParameterValues("monthIncome");
所以搞糊涂了。
不知PHP里面是不是要写成monthIncome[]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值