Bootstrap 模态框多次显示后台会提交多次BUG

来源:互联网 发布:linux怎么上传压缩包 编辑:程序博客网 时间:2024/05/13 00:49

模态框

Bootstrap Modal

Bootstrap 的模态框使用 Bootstrap 的前端应该都接触过。

本文记录一下今天使用时遇到的 BUG,以便以后查阅和帮助其他遇到同样问题的伙伴们。

BUG 情景

使用场景

触发展现模态框,填写对应的信息,然后 ajax 提交表单信息到后台。

简化

点击下面的按钮一次,弹出模态框。点击提交,会直接 alert("提交")。点击一次会觉得很正常,但是如果你重复点几次模态框,会发现再次点击提交,alert 会出现多次。

CSDN 无法展现效果,可参见

点击

<button class="btn btn-info" id="modal-click-error">点击弹出模态框</button><div class="modal" tabindex="-1" role="dialog" id="myModal">  <div class="modal-dialog" role="document">    <div class="modal-content">      <div class="modal-header">        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>        <h4 class="modal-title">Modal title</h4>      </div>      <div class="modal-body">        <p>One fine body&hellip;</p>      </div>      <div class="modal-footer">        <button type="button" class="btn btn-default" data-dismiss="modal">取消</button>        <button type="button" class="btn btn-primary">提交</button>      </div>    </div><!-- /.modal-content -->  </div><!-- /.modal-dialog --></div><!-- /.modal -->
$(function() {    $('#modal-click-error').on('click', function() {        $('#myModal').modal('show');        $("#myModal .btn-primary").on('click', function() {            alert("提交");        });    });});

问题修复

上述的 js 代码,每次对于按钮的点击都会为提交按钮添加对应事件。修改如下即可:

$(function() {    $('#modal-click-error').on('click', function() {        $('#myModal').modal('show');    });    $("#myModal .btn-primary").on('click', function() {        alert("提交");    });});
阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 女鞋 马丁靴 女鞋鞋码 女靴童鞋 细高跟鞋凉鞋 女鞋真皮靴子 麦昆鞋 麦乐户外鞋 麦昆 鞍鞯 鞍区 蝶鞍 鞍点 空蝶鞍 好马配好鞍 放马金鞍 鞍重股份股吧 鞍怎么读 银鞍照白马枫踏入流星 一鞍一马 鞍不离马甲不离身 鞍甲之劳 银鞍照白马 一马不被两鞍 鞍区占位 鞍鞯的读音 部分空蝶鞍 见鞍思马 人靠衣裳马靠鞍 骝马新跨白玉鞍 鞍山 沈阳鞍山 辽宁鞍山 鞍山师范 鞍山市 鞍山邮编 鞍山二手房 鞍山旅游 鞍山到沈阳 鞍山招聘 鞍山银行