点击button自动提交表单原因及解决方案

分析

情景描述

有时候我们可能需要在表单中放置多个按钮,比如表单页面常见的按钮有创建取消。点击创建按钮会触发单击响应事件,在单击响应事件中进行提交表单,这没有任何问题。点击取消按钮的时候,触发对应的单击响应事件,这个单击响应事件中主要处理关闭表单页面逻辑,所以会关闭页面,这也正常。但是!打开控制台监听请求会发现,它也会提交表单。

图示
这里写图片描述

关于途中三个按钮的代码片段

<!-- 新增分区按钮 -->
<div class="layui-inline parti-table" style="left:100px">
    <button type="button" class="layui-btn layui-btn-normal" data-type="addNewLine">新增分区</button>
</div>

<!-- 确定和取消按钮 -->
<div class="layui-btn-container">
    <button type="button" class="layui-btn" lay-submit lay-filter="createIndex" style="margin-bottom: 0px;">
        <i class="layui-icon">&#xe605;</i> 确定
    </button>
    <button class="layui-btn layui-btn-primary" id="cancel" style="margin-bottom: 0px;">
        <i class="layui-icon">&#x1006;</i> 取消
    </button>
</div>

原因

出现上述的问题主要是button标签的type属性惹的祸,buttontype属性值有三个分别为buttonsubmitreset。当我们在利用button标签写一个按钮且没有指定其type属性时,IE7以下版本(具体是IE7以下还是IE5以下给忘了)会默认指定为button,其他会被默认指定为submit当按钮的type属性被指定为submit的时候,点击它会提交表单。

解决

当需在form标签中放置一个button的时候,如果这个按钮不是做提交表单的,切记一定要设置其typebutton

  • 13
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值