form表单提交时多个相同name属性问题解决方案一

  • 1. 问题背景
  • 2. 解决方法
    • 2.1. 后台处理
    • 2.2. 前端处理
      • 2.2.1. 分析
      • 2.2.2. 解决

1 问题背景

项目中有这样的需求:根据不同的业务逻辑填写不同的表单提交到数据库中, 但是不同的表单之间又有一些字段是一样的,也就是说在form表单里存在多个name值相同的 input输入框,这样在提交的时候就会有这么一个问题,有几个相同name的值提交, 就会传回给后台几个相同的值,默认是以逗号分隔的,即使是空值,也会逗号把两个空值隔开。 这就给后台处理造成了不便,问题由此产生。

2 解决方法

2.1 后台处理

直接把问题抛给后台,让后台去解析,不是不可以,但是很明显不是好的解决方案, 既显示不出来前台的业务功底,更会让后台很反感。

2.2 前端处理

2.2.1 分析

表单之间存在互斥关系,也就是说,相同name属性的表单并不能同时提交, 每次提交只不过是根据规则提交符合要求的表单,这样就给我们处理带来了便利。

2.2.2 解决

把每一个表单放入一个大的div中,在提交之前(或者索性在展示之前) 就把不会用到的表单所在的div删掉就可以了,如果是用的jQuery,那么可以直接使用 remove()方法。如果使用的是其他的JavaScript库,就需要找到对应的方法了, 一个正常的库都是应该具备这些基础方法的。

 

 

 

欢迎志趣相投的朋友一起学习交流! 
本人qq:906570770 
技术资料分享群:272811256

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值