大家好,我第一次使用Bootstrap,但是我无法让模态表单在点击提交按钮后保持打开状态。
我已经在Stack Overflow上搜索过了,但与此相关的所有问题都涉及略有不同的问题(例如下面的示例)。
大家好,我第一次使用Bootstrap,但是我无法让模态表单在点击提交按钮后保持打开状态。
我已经在Stack Overflow上搜索过了,但与此相关的所有问题都涉及略有不同的问题(例如下面的示例)。
请删除以下内容:
data-dismiss = "modal"
从不应关闭对话框的按钮开始。之后,您可以使用$( "#TheDialogID" ).modal( "hide" )来关闭对话框。例如:
<!--<SimpleModalBox>-->
<div class="modal fade" id="SimpleModalBox" tabindex="-1" role="dialog" aria-labelledby="SimpleModalLabel" aria-hidden="true">
<!--<modal-dialog>-->
<div class = "modal-dialog">
<!--<modal-content>-->
<div class = "modal-content">
<div class = "modal-header">
<button type = "button" class = "close" data-dismiss = "modal">
<span aria-hidden="true">×</span>
</button>
<h4 class = "modal-title" id = "SimpleModalLabel">Title for a simple modal</h4>
</div>
<div id="TheBodyContent" class = "modal-body">
Put your content here
</div>
<div class = "modal-footer">
<button type = "button" class = "btn btn-default" data-dismiss = "modal">Yes</button>
<button type = "button" class = "btn btn-default" onclick="doSomethingBeforeClosing()">Don't close</button>
<button type = "button" class = "btn btn-default" data-dismiss = "modal">Cancel</button>
</div>
</div>
<!--<modal-content>-->
</div>
<!--/modal-dialog>-->
</div>
<!--</SimpleModalBox>-->
Javascript代码:
//#region Dialogs
function showSimpleDialog() {
$( "#SimpleModalBox" ).modal();
}
function doSomethingBeforeClosing() {
//Do something. For example, display a result:
$( "#TheBodyContent" ).text( "Operation completed successfully" );
//Close dialog in 3 seconds:
setTimeout( function() { $( "#SimpleModalBox" ).modal( "hide" ) }, 3000 );
}
//#endregion Dialogs
查看 => http://getbootstrap.com/2.3.2/javascript.html#modals
使用
data-backdrop="static"
$("#yourModal").modal({"backdrop": "static"});
编辑1:
在你的链接中打开你的模态框 ==>
<a href="#" onclick="$('#yourModal').modal({'backdrop': 'static'});" class="btn btn-primary">yourModal</a>
Edit2 :
这是我的程序实现方式,希望它能有所帮助。
这是触发模态框的按钮。我在这里禁用了键盘和鼠标在模态框外的点击。
<button type="button" data-toggle="modal" data-target="#modalDivId"
data-backdrop="static" data-keyboard="false">
这是一个带有表单和提交按钮的模态框div。将...
替换为您的模态框内容。
<div class="modal fade" id="modalDivId" role="dialog">
<form>
...
<button type="submit" onClick="myFunction()" class="btn btn-success">
Submit
</button>
</form>
</div>
最后是当您点击提交按钮时触发的函数。在这里,event.preventDefault();
将阻止表单提交的默认操作,以便模态框保持不变。
function myFunction() {
$("form").on("submit", function (event) {
event.preventDefault();
$.ajax({
url: "yoururl",
type: "POST",
data: yourData,
success: function (result) {
console.log(result)
}
});
})
}
如果您想添加多个数据并且希望模态框保持打开状态,请使用
<button type="button"></button>
如果您想在提交数据后关闭模态框,则必须使用
<button type="submit"></button>
data-backdrop="static" data-keyboard="false"
,因为我希望用户只要在提交表单之前就可以关闭它。一旦他提交了表单,我希望阻止他关闭表单模态框。以下是我解决问题的方法。$('#modalForm').on('submit', function() {
$(#modal).on('hide.bs.modal', function ( e ) {
e.preventDefault();
})
});
$( "form" ).submit(function( event ) {
event.preventDefault();
});
请仅使用以下代码:
$(document).ready(function () {
$("#myModal").modal('show');
});
在更新面板中编写您的HTML代码,然后从按钮中删除data-dismiss="modal"。希望这对您有用。