使用 javascript 提交 django 表单

发布于 2024-11-09 14:24:25 字数 488 浏览 0 评论 0原文

好的,有这段代码 -

    <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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

我还不会笑 2024-11-16 14:24:25

这是我用来解决我的问题的解决方案 - (非常感谢 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>`

here is the solution i used to solve my problem - (thank you very much fosco and 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>`
瑕疵 2024-11-16 14:24:25

我认为“使用 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.

吻风 2024-11-16 14:24:25

此表单中有输入字段吗?您应该检查该内容而不是表单的名称。表单本身什么都没有,那么发布的是什么数据呢?即名为 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:

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文