【发布时间】:2017-03-30 21:21:40
【问题描述】:
模态:
<div id="modalRelease" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="display: none;">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Revision Release</h4>
</div>
<div class="modal-body">
<div style="text-align:center; color:red;"><p>You are about to release to the next Revision level.</p></div>
<div style="text-align:center;"><p>Description Required:</p></div>
<div>
<textarea name="RevisionDescription" id="RevisionDescription" class="form-control" placeholer="Description..." data-rule-required="true" data-msg-required="Please enter a description."></textarea>
</div>
</div>
<div class="modal-footer">
<div class="alert alert-danger" id="RevisionSubmitError">A description is required.</div>
<div>
<button type="button" class="btn btn-success" id="ReleaseSubmit">
<i class="fa fa-save"></i> Submit
</button>
<button type="button" class="btn btn-warning" data-dismiss="modal">
<i class="fa fa-remove"></i> Cancel
</button>
</div>
</div>
</div>
</div>
</div>
按钮点击捕获事件:
$(document).on("click", "#ReleaseSubmit", function (event) {
if ($.trim($('#RevisionDescription').val()) == "") {
$("#RevisionSubmitError").fadeIn("slow", function () { });
}
else {
submitForm('release')
}
});
然后,尝试捕获 Hide 事件,以便在用户关闭然后重新打开模式时错误消息仍然不可见,但这永远不会触发:
$('#modalRelease').on('hide.bs.modal', function () {
$('#RevisionSubmitError').hide()
})
“RevisionSubmitError”是模态体内的一个 div。 div 永远不会隐藏。我也试过 hidden.bs.modal。
使用 Bootstrap v3.3.6
【问题讨论】:
-
当模态框被隐藏时,您试图在模态框内隐藏 div?
-
正确。它是一个 div,其中包含模态表单中的任何错误。因此,假设用户打开模式,提交有错误的表单。显示 div RevisionSubmitError。然后用户关闭模式。下次用户打开模式时,我希望 RevisionSubmitError 仍然不可见。
-
为什么需要内联
onclick处理程序?只需将data-dismiss="modal"属性添加到您的按钮,它也会关闭模式。 -
我一开始也是这样,但是当hide.bs.modal方法不起作用时,我尝试了这个。
-
由于您隐藏了模态框,没有正常删除它,如果您在模态框未显示后调用它,#RevisionSubmitError 将被隐藏事件,请您发布您的html
标签: javascript jquery html twitter-bootstrap