首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Twitter-Bootstrap模式和django表单

Twitter-Bootstrap模式和django表单
EN

Stack Overflow用户
提问于 2012-09-29 10:51:39
回答 1查看 2.1K关注 0票数 1

我想在django表单提交后在推特-Bootstrap模式下显示last_item,但是我不知道如何处理该模式。我尝试了documentation中建议的表单按钮,但它不处理表单数据。我该怎么做?

代码语言:javascript
复制
<button data-toggle="modal" data-target="#myModal2">Submit</button>

views.py

代码语言:javascript
复制
def main(request):
    if request.method == 'POST':
        form = MyModelForm(request.POST)
        if form.is_valid():
            name = form.cleaned_data['name']
            request.session['name'] = name
            mm = MyModel.objects.create(name=name)
            mm.save()
            return HttpResponseRedirect('/') # Redirect after POST
    else:
        form = MyModelForm()
    args = {}
    args['last_item'] = MyModel.objects.all().order_by('pk').reverse()[0]
    args['form'] = form
    return render(request, 'form.html', args)

form.html

代码语言:javascript
复制
{% extends "base.html" %}
{% block content %}

<form method="POST" id="" action="">
  {% csrf_token %}
  {{ form.as_p }}
  <button>Submit</button>
</form>

<div class="modal" id="myModal2" tabindex="-1" role="dialog"
     aria-labelledby="myModal2Label" aria-hidden="true" style="display: none">
  <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
    <h3 id="myModal2Label">Modal header</h3>
  </div>
  <div class="modal-body">
    <p>Last item: {{ last_item }}</p>
  </div>
</div>
{% endblock %}

{% block scripts %}
{% endblock %}
EN

回答 1

Stack Overflow用户

发布于 2012-09-29 18:03:06

它像bootstrap一样在单击时调用event.preventDefault(),这样可以防止表单被提交。

你应该在这个按钮和close the modal programaticaly上点击bind your own event

它可能看起来像这样:

代码语言:javascript
复制
$('form').submit(function() {
    $('#myModal2').modal('hide');
})

我没有测试这段代码,但这应该是一个很好的开始。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12649539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档