1 问题背景
项目中有这样的需求:根据不同的业务逻辑填写不同的表单提交到数据库中, 但是不同的表单之间又有一些字段是一样的,也就是说在form表单里存在多个name值相同的 input输入框,这样在提交的时候就会有这么一个问题,有几个相同name的值提交, 就会传回给后台几个相同的值,默认是以逗号分隔的,即使是空值,也会逗号把两个空值隔开。 这就给后台处理造成了不便,问题由此产生。
2 解决方法
2.1 后台处理
直接把问题抛给后台,让后台去解析,不是不可以,但是很明显不是好的解决方案, 既显示不出来前台的业务功底,更会让后台很反感。
2.2 前端处理
2.2.1 分析
表单之间存在互斥关系,也就是说,相同name属性的表单并不能同时提交, 每次提交只不过是根据规则提交符合要求的表单,这样就给我们处理带来了便利。
2.2.2 解决方式二(承接上一个方案)
将多个不同时提交的字段放入到多个不同的表单中提交,把大的form表单切分为多个小的form表单,每次提交时只需提交需要的表单。
两种方法优劣对比:第二种方式要更好一点,第一种直接修改了dom结构,再次进行重复或者其他操作可能会受到影响,第二种方式则没有此项弊端。
个人观点:仅供参考
欢迎志趣相投的朋友一起学习交流!
本人qq:906570770
技术资料分享群:272811256