在表单提交后显示模式,直到下一页加载...在safari上不起作用?

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">&times;</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不想同时做到这两点?

use*_*704 6

试试这个

<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