【问题标题】:How can I submit multiple django forms with one button at once with jquery?如何使用 jquery 一次用一个按钮提交多个 django 表单?
【发布时间】:2021-01-02 23:04:26
【问题描述】:

我有一个由多个表单组成的单页应用程序(我不能只使用一个表单,因为我需要验证)。 按下按钮后,我需要提交每个表单,以某种方式捕获响应,并且仅在其中一个表单无效时才重定向页面。

在我看来,如果单个表单有效,我会返回 HttpResponse(status=204),如果表单无效,我会返回 render(request, 'home.html', context)

我试过这个,但它显然不起作用。如果响应是 204,有没有办法提交多个表单而什么都不做?

    $('#download-btn').click(function () {

        $("form").each(function () {
            $(this).submit(); // Seems to only submit one form
            // Don't redirect page here, so that all forms get submitted
        });
    });

【问题讨论】:

    标签: python jquery django


    【解决方案1】:

    我不能发表评论,否则我会的。但是,如果您的表单有 html“id”——您可以通过 id“获取”html 对象并更轻松地进行验证,如下所示:

    让 LeagueElement = document.getElementById("selectLeague"); let LeagueValue = LeagueElement.options[leagueElement.selectedIndex].value;

    另外,它不是一个提交类型——我更幸运地使用了这样的提交按钮:

    提交

    您可以将“onclick”元素设置为“表单名称”,并使用一个全局变量来计算“点击”了多少表单,然后在变量显示所有表单已提交后检查它们是否都可以使用-- 可以执行从每个提交“按钮”调用的函数的一部分,即“验证表单”并抛出错误或“验证表单并使用 204 提交”

    【讨论】:

      猜你喜欢
      • 2017-05-03
      • 2015-10-04
      • 2014-07-06
      • 2012-01-23
      • 2016-04-06
      • 1970-01-01
      • 2019-07-06
      • 2013-02-13
      相关资源
      最近更新 更多