Django UpdateView表单以模态显示但不更新

时间:2017-07-27 20:17:57

标签: javascript jquery python django bootstrap-modal

所以我有这个更新视图:

class UpdateRules(UpdateView):
    model = BlackList
    form_class = AddRules       
    template_name= 'blacklist_form.html'
    success_url = reverse_lazy('posts:list')

显示此模板blacklist_form.html:

<form class="well contact-form" method="post" action="">
    <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal">x</button>
        <h3>Editing Number</h3>
    </div>
    <div class="modal-body">
       {% csrf_token %}
       {{form.as_p}} 
    </div>
    <div class="modal-footer">
       <input class="btn btn-primary" type="submit" value="Save" />
    </div>
</form>  

然后在调用/渲染模态的模板中,我为每个要编辑的对象都有这个链接:

<a class="contact" href="#" data-form="{% url 'posts:update_rules' obj.pk %}"
title="Edit">

这个div显示模态:

<div class="modal" id="contactModal">
</div>  

最后,jQuery:

$(document).ready(function() {

    $(".contact").click(function(ev) { // for each edit contact url
        ev.preventDefault(); // prevent navigation
        var url = $(this).data("form"); // get the contact form url
        console.log(url);
        $("#contactModal").load(url, function() { // load the url into the modal
            $(this).modal('show'); // display the modal on url load
        });
        return false; // prevent the click propagation
    });

    $('.contact-form').on('submit',function() {
        $.ajax({ 
            type: $(this).attr('method'), 
            url: this.action, 
            data: $(this).serialize(),
            context: this,
            success: function(data, status) {
                $('#contactModal').html(data);
            }
        });
        return false;
    });
});

我的问题是:当我单击每个对象的编辑链接时,我能够获取更新视图表单以显示在模式中,但是提交按钮不会执行任何操作。当我从实际的updateview模板中保存表单时,它工作得很好,所以我认为它必须是jQuery的错误。我没有收到任何错误,模态只是消失,页面没有重新加载。关于发生了什么的任何指示?

0 个答案:

没有答案