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
1. 问题背景 2. 解决方法 2.1. 后台处理 2.2. 前端处理 2.2.1. 分析 2.2.2. 解决 1 问题背景项目中有这样的需求:根据不同的业务逻辑填写不同的表单提交到数据库中, 但是不同的表单之间又有一些字段是一样的,也就是说在form表单里存在多个name值相同的 input输入框,这样在提交的时候就会有这么一个问题,有几个相同name的值提交, ...
一般我们在同一个表单中,都会提交不同的name字段。可是,我遇到了提交
相同
字段的情况,例子如下:<
form
action="test_receive.php" method="post">
<p>第一个人</p>
姓名:<input type="text" name="name[]" />
年龄:<input type="text"
在一个<
form
></
form
>表单中存在着
多个
name
相同
的提交表单,$_POST['name']的
值
会取和闭合标签</
form
>最接近的一个POST
值
,要想在一个页面中处理
多个
相同
name的POST
值
,则需要把每个
相同
的name
值
分别写在不同的<
form
></
form
>中,这样就能进行区别了
问题
:在<
form
><...
<
form
class="haocai-test">
<input type="text" class="haocai_id" name="haocai_id" value="1" />
<input type="text" class="haocai_id" name="haocai_id" value="2" />
<input type="text" class="haocai_id" nam
爬虫遇到name
属性
值
相同
该怎么处理
在前些天大伙在群里聊天有人问到,爬虫过程中post提交表单数据
时
发现
Form
中有多处name
属性
值
相同
,该如何处理。
在多数情况下提交表单的data数据字典如下:
data = {
"name": "village head",
"sex": "girl",
"age": &
1.需要在axios拦截器的地方通过传递过来的 type
值
来判断,如果是
form
就设置请求头:content-type:application/x-www-
form
urlencoded;
// Request interceptor
service.interceptors.request.use(config => {
// 判断有无token,如果有设置h.