收藏
回答

form表单提交 获取多个name相同的值

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

最后一次编辑于  2018-06-11  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

6 个回答

  • 远方
    远方
    2018-06-13

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

    2018-06-13
    赞同 1
    回复 1
    • wྂ・ε
      wྂ・ε
      2018-06-13

      是PHP,懂了,有点思路了,谢谢各位

      2018-06-13
      回复
  • 小灯笼
    小灯笼
    2018-06-13

    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

    2018-06-13
    赞同
    回复 3
    • wྂ・ε
      wྂ・ε
      2018-06-13

      能不能加qq或微信私聊请教你

      2018-06-13
      回复
    • 小灯笼
      小灯笼
      2018-06-13回复wྂ・ε

      这种方法说白了就是先搭好架子,在页面循环的时候在input上面用data-index的方式记录下修改地方在数组中所在的位置,bindchange是为了区分种类(在例子中是价格和数量)用的,同时也能获取到输入的数据,最后将输入的数据赋值给空架子相对应的位置就可以了,这样说还听不懂的话,我也没办法说清楚了

      2018-06-13
      回复
    • wྂ・ε
      wྂ・ε
      2018-06-13

      我再捣鼓捣鼓,不太懂这个小程序。谢谢哈

      2018-06-13
      回复
  • sun
    sun
    2018-06-12

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

    2018-06-12
    赞同
    回复
  • 异步加载
    异步加载
    2018-06-12

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

    2018-06-12
    赞同
    回复 2
    • wྂ・ε
      wྂ・ε
      2018-06-12

      这,只能打印出一组数据,其他都被覆盖了

      2018-06-12
      回复
    • 初心不敢忘
      初心不敢忘
      2018-06-13

      form表单包含所有这些东西了?每一个数据值地方name都定义了?如果都做了,提交上来是一堆name和值的呀


      2018-06-13
      回复
  • wྂ・ε
    wྂ・ε
    2018-06-11

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

    2018-06-11
    赞同
    回复
  • echoyl
    echoyl
    2018-06-11

    使用数组啊

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

    后台解析这个数据就行了

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

    2018-06-11
    赞同
    回复