使用javascript提交django表单

使用javascript提交django表单,javascript,python,html,forms,djangoappengine,Javascript,Python,Html,Forms,Djangoappengine,好的,让我们来看看这段代码- <form id="myform" name="myform" action="." method="post"> <a href="javascript: document.forms['myform'].submit();" name="myform">Submit </a> </form> 这返回false。你知道为什么吗?我想“使用href”意味着你通过

好的,让我们来看看这段代码-

    <form id="myform" name="myform" action="." method="post">
        <a href="javascript: document.forms['myform'].submit();" name="myform">Submit
        </a>
    </form>    

这返回false。你知道为什么吗?

我想“使用href”意味着你通过编程方式点击链接?链接总是发送GET请求,这就是它失败的原因。您可以使用JS使用
document.forms.myform.submit()提交整个表单并将随POST一起发送,因为这是您在表单中指定的方法。

此表单中是否有输入字段?您应该检查它,而不是表单的名称。表单本身什么都不是,那么发布的是什么数据呢?i、 e.名为someData的文本输入字段<代码>如果请求中有“someData”。帖子:

这是我用来解决问题的解决方案-(非常感谢fosco和adam!)



`
此表单中是否有输入字段?您应该检查它,而不是表单的名称。检查表单中的输入字段是什么意思?你能添加一个例子吗?比如,正在提交的实际数据。。。表单本身什么都不是,那么发布的是什么数据呢?i、 e.名为someData的文本输入字段<代码>如果请求中有“someData”。POST:OMG!非常感谢你!在表单中添加一个输入字段就成功了!我把我的评论移到了一个答案上,这样你就可以接受了。请注意,
myform
最好是表单的id,而不是名称(虽然两者都有效,但使用id更好,因为表单不应该有名称)。谢谢你的快速回复!单击href“按钮”后,将向服务器发送post请求,但发送的post中没有任何数据,因此我们的检查仍然失败。我们在页面中有多个提交按钮,因此我们必须将表单名称发送到服务器,以便区分表单。但是只使用id也可以,所以谢谢:)还有其他想法吗?按钮在表单中吗?对于这种情况下的表单名称,您可以将其替换为一个隐藏的输入。这看起来很聪明,而且似乎工作得很好。这种方法有什么“错误”吗?
    if 'myform' in request.POST:
        '''handle the form submition'''
        return True
    return False
    <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>`