- 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