我正在使用jquery .load()将django模板加载到弹出式div中
我正在使用的模板有一个表单,当我加载模板时,表单不再有效,但是当我通过url访问模板时,表单是有效的。
任何人都可以想到在jquery加载后表单不再有效的原因吗?
这是我的表格:
def createrecipe(request):
if not request.user.is_authenticated():
return HttpResponseRedirect('/index/')
else:
if request.method == 'POST':
form = RecipeForm(request.POST)
if form.is_valid():
recipe = form.save(commit=False)
recipe.original_cookbook = request.user.cookbooks.all()[0]
recipe.pub_date = datetime.datetime.now()
recipe.save()
user = request.user
cookbooks = user.cookbooks
cookbook = cookbooks.all()[0]
cookbook.recipes.add(recipe)
return HttpResponseRedirect('/account')
else:
form = RecipeForm()
return render_to_response('cookbook/createrecipe.html',
{'form':form},
context_instance=RequestContext(request))
这是我的表单模板:
{% block content %}
<div id="createform">
<h1>Create New Recipe</h1>
<form action="." method="POST">
<table>
{% csrf_token %}
{{ form.as_table }}
</table>
<p><input type="submit" value="Submit"></p>
</form>
</div>
{% endblock %}
这是加载功能:
$(document).ready(function(){
$(".create").on("click", function(){
$("#popupContact").load("/cookbook/createrecipe #createform");
});
});
谢谢,
snackerfish
答案 0 :(得分:0)
这是你通过jQuery或默认表单行为执行的提交按钮,我认为你的代码在处理ajax数据时不会看到你应该使用jquery的.on()方法的加载表单。 http://api.jquery.com/on/