未解决-bootstrap模态框发送ajax请求后自动关闭
创始人
2025-05-28 14:28:22
0

这个问题困扰了我好久,仍然没解决。这里只记录一下我尝试过的解决方案。

问题描述

我有一个模态框,上面有一个表单,表单中很多input不提,还有两个按钮:按钮A是预测编号,点击后需要ajax发送post请求,异步获取一些数据,再回显到模态框的某个input中;

$("#predictSampleIdsButton").click(function(){var formData = new FormData();formData.append("order", $("#addOrUpdateForm").serialize());$.ajax({type: "post",url: "/tool/predict",data: formData,processData: false,contentType: false, success: function (json) {// json是后台返回的字符串结果var ids = json.split(", ");for(i = 0; i < ids.length; i++){// 这个函数用来为表单下方的table增加一行,并设置某列的内容为指定值addSubOrderInfo(ids[i]);}document.getElementById("publicDescription").value = json;//$("#addOrUpdateModal").modal('show');},error: $.tool.ajaxError,});
});

按钮B是添加信息,点击后,模态框下部的table中会增加一行。

$("#addButton").click(function () {if (this.name > 0 && index == 0) {index = this.name;}index++;$('#subOrdersTitles').removeClass('hide');var $template = $('#subOrders'),$clone = $template.clone().removeClass('hide').removeAttr('id').attr('id', 'data-book-index'+index).insertBefore($template);// Update the name attributes$clone.find('[name="rowIdx"]').attr('id', 'rowIdx.' + index).end().find('[name="suboid"]').attr('id', 'suboid.' + index).end().find('[name="statement"]').attr('id', 'statement.' + index).end().find('[name="attach"]').attr('id', 'attach.'+index).end().find('[name="removeRowButton"]').attr('pid', 'data-book-index'+index).end();document.getElementById('rowIdx.'+index).innerHTML = index;
}); 

整个模态框的结构为:

添加订单

No订单号分析内容附件操作

**现在的问题是:**当我先点击添加按钮,再填写内容并点击预测按钮后,模态框保持打开状态,“描述”处正常获取信息,每行也正确添加了信息;但当我不点击添加按钮,只填写内容并点击预测按钮后,模态框直接关闭。

失败的方案

  1. 在模态框上添加属性
backdrop="static" data-keyboard="false"

这两个属性禁止了两种行为:a) 鼠标点击模态框外,关闭模态框 b) 按esc关闭模态框

  1. 在ajax的success中加入 $(“#模态框id”).modal(‘show’);
    其实也不止这里加了,我也试着在ajax前加,但是,没变化。。还是之前的问题。

  2. 先加一个空白行再删除
    其实是模拟我添加按钮的操作,结果也不行。。模态框还是自己关闭了。

现在只能先加一个空白行,就放着。这看起来很傻,不过我还没找到解决办法🚬

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...