【问题标题】:BootStrap Django Jquery Modal Not Closing on Ajax Call SubmitBootStrap Django Jquery 模式在 Ajax 调用提交时未关闭
【发布时间】:2015-04-10 01:33:53
【问题描述】:

我有用于显示弹出窗口的模态,当您单击发布按钮时,它会进行 ajax 函数调用,我也将其设置为模态切换,但它不会在提交时切换模态,而我没有不知道怎么解决。

div 类

<div class="modal fade bs-example-modal-sm2" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true" id='post_modal'>
  <div class="modal-dialog modal-sm2">
    <div class="modal-content">
        {% if is_user_profile %}

        <div id='make_post' styly='padding:7px;'>
                <form method='POST'>
                {% csrf_token %}
                title: <input type ='text' id='post_title'><br>
                post:<textarea id='post_text'></textarea><br>
                <button id='makepost' type="button" class="btn btn-primary" data-dismiss="modal">Post</button>
                {% for user in user_data %}
                <input type='hidden' id='username' value='{{user.username}}' >
                {%endfor%}
                </form>
        </div>      
        {%endif%}   
    </div>
  </div>
</div>

ajax 调用

            $("#makepost").click(function() {

                    var post_title = document.getElementById("post_title").value;
                    var post_text = document.getElementById("post_text").value;
                    var username = document.getElementById("username").value;

                    $.ajax({
                        url : "/makepost/", 
                        type : "POST",
                        dataType: "json", 
                        data : {
                            csrfmiddlewaretoken: '{{ csrf_token }}',
                            username: username,
                            post_title: post_title,
                            post_text: post_text,
                            },
                            success : function(json) {
                                document.getElementById('output').innerHTML = (json['message']);
                                updatePostSection(json['user_posts']);
                            },
                            error : function(xhr,errmsg,err) {
                                console.log(xhr.status + ": " + xhr.responseText);
                                document.getElementById('output').innerHTML = "Request Failed.";
                            }

                    });
                    return false;  
            }); 

【问题讨论】:

  • 您的问题是发布后模式没有消失吗?还是我错过的另一件事?

标签: javascript jquery ajax django twitter-bootstrap


【解决方案1】:

我不确定问题是否在于模态在发布后没有消失,但如果是这样 - 您可以在成功/错误函数的末尾添加以下行:

$("#post_modal").modal('hide');

希望对你有帮助

干杯!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-14
    • 1970-01-01
    • 2019-10-07
    • 1970-01-01
    • 2019-07-20
    • 2021-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多