使用JavaScript提交Django表单
好的,这里有一段代码 -
<form id="myform" name="myform" action="." method="post">
<a href="javascript: document.forms['myform'].submit();" name="myform">Submit
</a>
</form>
我正在使用一个链接和一些JavaScript代码来向我的Django服务器提交一个表单。在服务器上,我用以下代码来检查这个提交的请求 -
if 'myform' in request.POST:
'''handle the form submition'''
return True
return False
但是这返回的是false。你们知道为什么吗?
相关问题:
3 个回答
2
我猜“使用 href”是指你通过代码点击一个链接吧?链接总是会发送 GET 请求,所以这就是为什么会失败的原因。你可以用 JavaScript 提交整个表单,方法是 document.forms.myform.submit();,这样就会用 POST 方式发送,因为你在表单里指定了这个方法。
3
这是我用来解决问题的方法 - (非常感谢fosco和adam!)
<form id="my_form" action="." method="post">
<a href="#" onclick="document.forms['my_form'].submit();">Call Form</a>
<input type="checkbox" name="call_form" checked style="visibility:hidden"><br>
<input type="submit" value="create form" style="visibility:hidden" />
</form>`
0
这个表单里有没有输入框?你应该检查这个,而不是表单的名字。因为表单本身没有什么内容,那到底提交了什么数据呢?比如说,有一个叫做 someData 的文本输入框。if 'someData' in request.POST: