提交时的 Javascript 表单

Posted

技术标签:

【中文标题】提交时的 Javascript 表单【英文标题】:Javascript Form on Submit 【发布时间】:2021-05-30 06:33:38 【问题描述】:

下面是我的表格

我尝试了几种方法来尝试使用 form.onsubmit 来运行我的 post ajax。但我无法得到它。

$(document).on("submit", ".btn_create_bin", function (e) 
  e.preventDefault();
  console.log("test");
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form method="post" action="% url 'create_bin' %" class="btn_create_bin">
    % csrf_token %
    <div class="modal-footer">
        <button type="button" class="btn btn-default" data-bs-dismiss="modal">Close</button>
        <button type="submit" class="btn btn-primary">Create</button>
    </div> 
</form>

上面的 javascript 不起作用,我在控制台上找不到“测试”。

如何检测用户何时点击了 Form#btn_create_bin.Submit 按钮?

将我的代码更新到它不那么混乱了,我实际上尝试了一些其他方法并且没有删除那些测试代码

【问题讨论】:

第一段代码看起来是正确的,但没有什么我可以称之为“post ajax”的。 @Pointy 嗨,第一段 js 对我来说似乎也不错。但是当我检查日志时我无法进行测试 您展示的代码有效,请参阅我制作的小提琴... 谢谢,我意识到了问题所在。我使用的是脆皮表格,其中包括 ,它结束了我之前的表格按钮。 【参考方案1】:

抱歉,没有看清楚 django-crispy 的形式。

https://django-crispy-forms.readthedocs.io/en/latest/crispy_tag_forms.html

简单的将下面添加到表单中。

self.helper.form_tag = False

这不会导致crispy 包含Form。

【讨论】:

以上是关于提交时的 Javascript 表单的主要内容,如果未能解决你的问题,请参考以下文章

7.2 Javascript:表单验证-提交表单

提交时的JavaScript addEventListener不起作用

如何在单击输入按钮时提交表单以及执行 javascript 函数?

输入类型不是“提交”时的 HTML5 验证

表单提交时的角度表单错误组件触发验证

jQuery Mobile,表单提交时的页面更改