car*_*arl 9 html javascript bootstrap-modal
我有一个像这样的按钮
<form action="/category" method='GET'>
<button type="submit" class="btn btn-default render">
name
</button>
</form>
Run Code Online (Sandbox Code Playgroud)
并且我有一些javascript,只要按下按钮就会启动一个模态...这只是为了让用户知道下一页正在加载.
<script type='text/javascript'>
$(document).ready(function(){
$(".render").click(function(evt){
$('#render_page').modal('show');
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
这是模态的html
<div class="modal fade" id="render_page" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="form-horizontal">
<div class="modal-body">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<div id="user_msg" align="left">Rendering Page... </div>
</div>
</div>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这一切都适用于Firefox和Chrome,但Safari没有显示模式?如果我将表单放在按钮中,它会启动模式,但它不会提交表单.所以这两个方面,表单提交和模式都有效,但safari不想同时做到这两点?
试试这个
<script type='text/javascript'>
$(document).ready(function(){
$(".render").click(function(evt){
evt.preventDefault();
$('#render_page').modal('show');
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
https://jsfiddle.net/y64qyjzo/
更新:添加了一个计时器,允许用户注意模态:
$(document).ready(function() {
$(".render").click(function(evt) {
evt.preventDefault();
$('#render_page').modal('show');
setTimeout(function() {
$('#testForm').submit();
}, 1000)
});
});
Run Code Online (Sandbox Code Playgroud)
(将id'testForm'添加到表单中)
https://jsfiddle.net/y64qyjzo/3