繁体   English   中英

在模态弹出窗口中提交 Django 表单

[英]Submit django form in a modal popup

我在模态中呈现我的表单:

看法:

@login_required
def task_edit(request, pk):
    member = get_object_or_404(Tasks, pk=pk)
    if request.method == "POST":
        form = TasksForm(request.POST or None, instance=member)
        if form.is_valid():
            reg = form.save(commit=False)
            reg.save()
            return HttpResponse(
                '<script type="text/javascript">window.close();</script>')
    else:
        form = TasksForm(instance=member)
    return render(request, 'TaskProj/task_edit.html', {'form': form})

我的 html 在模态弹出窗口中呈现:

{%load staticfiles %}
 <div class="row">
             <div class="col-lg-12">
                  <div class="panel">
                <div class="content-box">
    <h3 class="content-box-header bg-primary">

                         <span class="icon-separator">
                                <i class="glyph-icon icon-tasks"></i>
                            </span>
                       <span class="header-wrapper">
 Eidt Tasks                      </span>

                      </span>

                        </h3>
    <div class="panel">
<div class="panel-body">
    <form method="POST" id="form" class="form-horizontal bordered-row" autocomplete="off">
        {% csrf_token %}
            <div class="example-box-wrapper">
                <div class="form-group">
                    {{ form.as_p }}
                </div>
             </div>
      <button type="submit" class="btn btn-primary btn-lg btn-block">Salva</button>
       </div>
    </div>
    </form>
<script type="text/javascript">
$(document).on('click','.submit',function(){
    $( "#form" ).submit();
});
</script>
{% endblock %}

此表单呈现在模态弹出窗口中。 我尝试保存,它关闭模态但不保存表单。 我认为提交按钮有问题......知道吗?

您需要声明一个带有 url 的 action 属性,用于处理 views.py 中的特定表单的函数。 以便表单知道去哪里并进行处理:

 <form method="POST" id="form" class="form-horizontal bordered-row" action="{% 'task_edit' your-object.pk %}" autocomplete="off">
        {% csrf_token %}
            <div class="example-box-wrapper">
                <div class="form-group">
                    {{ form.as_p }}
                </div>
             </div>
<button type="submit" class="btn btn-primary btn-lg btn-block">Salva</button>
</div>
</div>
</form>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM