使用 javascript 提交 django 表单
好的,有这段代码 -
<form id="myform" name="myform" action="." method="post">
<a href="javascript: document.forms['myform'].submit();" name="myform">Submit
</a>
</form>
我正在使用 href 和一些 javascript 向我的 django 服务器提交一个表单。 在服务器上,我使用以下代码检查发布请求 -
if 'myform' in request.POST:
'''handle the form submition'''
return True
return False
这将返回 false。有什么想法为什么吗?
ok so have this snippet of code -
<form id="myform" name="myform" action="." method="post">
<a href="javascript: document.forms['myform'].submit();" name="myform">Submit
</a>
</form>
i am submitting a form using an href and some javascript to my django server.
on the server i check the post request using the following code -
if 'myform' in request.POST:
'''handle the form submition'''
return True
return False
this returns false. any ideas why?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这是我用来解决我的问题的解决方案 - (非常感谢 fosco 和 adam!)
here is the solution i used to solve my problem - (thank you very much fosco and adam!)
我认为“使用 href”意味着您以编程方式单击链接?链接总是发送 GET 请求,这就是它失败的原因。您可以使用
document.forms.myform.submit();
使用 JS 提交整个表单,这将通过 POST 发送,因为这是您在表单中指定的方法。I assume "using an href" means you click a link programatically? Links always send GET requests so that's why it fails. You can submit the entire form with JS using
document.forms.myform.submit();
and that will send it with POST since that's the method you specified in the form.此表单中有输入字段吗?您应该检查该内容而不是表单的名称。表单本身什么都没有,那么发布的是什么数据呢?即名为 someData 的文本输入字段。
如果 request.POST 中有“someData”:
Are there any input fields in this form? You should be checking for that rather than the name of the form. The form itself is nothing, so what data is being posted? i.e. a text input field named someData.
if 'someData' in request.POST: