form表单提交 获取多个name相同的值
发布于 6 年前 作者 iliao 13983 次浏览 来自 问答

像这种,怎么获取全部提交过来的数据???我现在只能获取到最后一条提交数据。

6 回复

js获取到数据的时候把一个空的JSON循环出来,比如:info:[{name:rice,num:’’,price:’’},{name:binggan,num:’’,price:’’},{name:zijing,num:’’,price:’’}],然后在循环的时候记录下索引并添加bindchange事件,比如:输入数量事件为changeNum,输入价格事件为changePrice,每一项input里面加入data-index=‘{{index}}’,最后在输入框触发的时候能够知道是info中的第几项的哪条属性以及值的多少,比如输入饼干数量5,价格20,那么追踪到的index是1,info[1].num=changeNum中的e.detail.value,info[1].price=changePrice中的e.detail.value

name一样的话会覆盖掉的,所以只能你自己去操作拼接

form表单有个 e.detail.value.你设的名 ,将e打印出来可以看到这些表单值,然后将这些值用数组组合起来提交给后端

用数组形式就可以吧,构造成nameString[]形式的键值对,比如select[id1]=1&select[id2]=0&amount[id1]=1&amount[id2]=1&……,图中的价格,不建议从前端提交了。如果服务端是PHP,可以直接获取到post request的数组。

我在小程序里面不知道怎么获取那些值

使用数组啊

post的时候 var allgoods = [{每个数据},{每个数据}] 提交数据 {allgoods:JSON.stringify(allgoods)}

后台解析这个数据就行了

比如php  $allgoods = json_decode($post_data[‘allgoods’],true);

回到顶部