【问题标题】:Validation/Events- What is the way for preventing form submission with js?验证/事件 - 防止使用 js 提交表单的方法是什么?
【发布时间】:2014-01-09 10:57:13
【问题描述】:

好的,这感觉像是一个非常微不足道的问题,它可能是。但我希望有人能解释差异,或者将我指向一个确实解释了如何防止在验证检查发现错误时提交表单的来源。

如果我有一个提交类型的输入,它不是会启动表单提交的点击处理程序吗?如果将 e.preventDefault() 放在所描述的输入的单击事件中,它理论上不应该工作吗?如果它不起作用,为什么?应该在表单提交事件中实现 preventDefault 吗? (根据我的阅读,在点击事件中阻止表单提交是不好的做法 - 但我不明白为什么!)

我读过类似的问题,例如这个' Simplest way to disable button on submission of a form? ' ,它并没有真正回答我的问题。所以,有人想帮助一个人吗?

--编辑--

我的实际问题是:通过在输入类型 = 提交的点击处理程序中添加 e.preventDefault 来阻止表单提交是不好的做法。还是相当于在 jquery form.submit() 中添加 e.preventDefault ?

【问题讨论】:

  • 很难回答你这样提出的问题。如果您在阻止提交时遇到问题,请显示您的代码,并且有人应该能够指出您所犯的错误。假设您正确绑定了处理程序,调用 preventDefault() 应该可以工作。
  • @Barmar,我已经编辑了我的问题!

标签: javascript forms


【解决方案1】:

最好将所有代码放在表单的submit() 处理程序中。可以通过多种方式提交表单——用户可以单击提交按钮,或者他们可以在表单的最后一个字段中按 Enter。这些都会触发表单的submit事件,但不一定是提交按钮的click事件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-18
    • 1970-01-01
    • 2018-09-29
    相关资源
    最近更新 更多