解决bootstrap模态框数据缓存问题

本文介绍了在使用Bootstrap模态框时遇到的数据缓存问题,包括表单信息未清除和验证信息保留的情况。通过分析,展示了在模态框关闭和打开时重置表单数据的JS代码,以及在保存前进行验证的实现方法,成功解决了模态框数据缓存的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题背景

第一步进行新增验证


第二步进行修改模态框  验证信息没有消除 且表单数据被缓存


模态框代码:新增修改共用一个模态框

<!-- 模态框(Modal) -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
&times;
</button>
<h4 class="modal-title" id="myModalLabel">
标题
</h4>
</div>
<div class="modal-body">
<form id="form1" class="form-horizontal" role="form">
<input type="hidden" id="unitId" name="unitId"/>
<div class="form-group">
<label class="control-label col-sm-2" for="">单位名称</label>
<div class="col-sm-8">
<input type="text" class="form-control" id="unitName" name="unitName">
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal" >关闭</button>
<button type="button" class="btn btn-primary" onclick="save()">提交</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal -->
</div>

js代码

//验证设置

$(function(){  
$("#form1").bootstrapValidator(
{
feedbackIcons: {
        valid:"glyphicon glyphicon-ok",
        invalid:"glyphicon glyphicon-remove",
        validating:"glyphicon glyphicon-refresh"
      },
fields : {
"unitName" : {

validators : {
notEmpty : {
message : '单位名称不能为空'
}
}
}
}
});
});

         //重置表单数据
$(function()
{    
    $("#myModal").on('hide.bs.modal',function() {
    //关闭后重置表单数据
       $("#form1").data('bootstrapValidator').resetForm();  


    });
    
    $("#myModal").on('show.bs.modal',function() {
    //打开前重置表单数据
       $("#form1").data('bootstrapValidator').resetForm();  
    });
});
function save() {

                //保存前开启验证
$("#form1").bootstrapValidator("validate");
if($("#form1").data("bootstrapValidator").isValid())
{
$.ajax({
url : "${path}/center/unit/save.action",
data : $('#form1').serialize(),
type : "post",
dataType : "json",
beforeSend : function() {
// loading show
},
success : function(result) {
if (result.success) {
search();
alert(result.message);

                                   //关闭模态框
$('#myModal').modal('hide');
} else {
alert(result.message);
}
},
complete : function() {
},
error : function(data) {
alert("error");
}
});
}}

最终解决效果





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值