我想在Jquery弹出窗口中加载一个django模板的形式。表单在popup的div中加载正常,但是当我点击提交时没有任何反应。表单本身似乎在它自己的url上运行,但不在我尝试加载它的另一个页面的弹出窗口中。 有人知道这个问题对django和jquery来说都是新手。
我要加载到弹出窗口中的表单:
<form action="" method="POST">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Save</button>
</form>
我的Jquery:
$(document).on('ready', function(){
var button = $('#button');
button.click(function(){
$('#newsletter').load('/newsletter #newsletterform').css('display', 'block');
});
});
我的观点:
def newsletter(request):
recipients = Recipient.objects.order_by('adress')
return render(request, 'newsletter/adress_list.html', {'recipients':recipients})
def add(request):
if request.method == "POST":
form = NewsletterForm(request.POST)
if form.is_valid():
recipient = form.save(commit=False)
recipient.save()
return redirect('/join')
else:
form = NewsletterForm()
return render(request, 'newsletter/add.html', {'form': form})
我的简报应用网址:
urlpatterns = patterns('',
url(r'^list/$', views.newsletter),
url(r'^$', views.add, name='add'),
)
Django-CMS Url:
url(r'^newsletter/', include('newsletter.urls',
答案 0 :(得分:1)
您需要更改表单的action
以指向其他网址/视图。假设add
网址上存在/newsletter
视图,您可以将表单更改为:
<form action="/newsletter" method="POST">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Save</button>
</form>