当前位置: 首页 > 知识库问答 >
问题:

如何防止表单被提交?

钦耀
2023-03-14

我有一个表单,其中某个地方有一个提交按钮。

然而,我想以某种方式‘捕获’提交事件并防止它发生。

有什么办法我能做到这一点吗?

我不能修改submit按钮,因为它是自定义控件的一部分。

共有1个答案

商辰钊
2023-03-14

与其他答案不同,返回false只是答案的一部分。考虑这样一个场景:在返回语句之前发生了一个JS错误...

HTML

<form onsubmit="return mySubmitFunction(event)">
  ...
</form>

脚本

function mySubmitFunction()
{
  someBug()
  return false;
}

在这里返回false将不会执行,并且无论以哪种方式都将提交表单。您还应该调用preventdefault来阻止Ajax表单提交的默认表单操作。

function mySubmitFunction(e) {
  e.preventDefault();
  someBug();
  return false;
}

在这种情况下,即使有bug,表单也不会提交!

或者,可以使用try...catch块。

function mySubmit(e) { 
  e.preventDefault(); 
  try {
   someBug();
  } catch (e) {
   throw new Error(e.message);
  }
  return false;
}
 类似资料:
  • 问题内容: 我有一个表单,其中某处有一个提交按钮。 但是,我想以某种方式“捕获”提交事件并防止它发生。 有什么办法可以做到这一点? 我无法修改“提交”按钮,因为它是自定义控件的一部分。 问题答案: 与其他答案不同,返回仅是答案的 一部分 。考虑在return语句之前发生JS错误的情况… html 脚本 返回此处将不会执行,并且表单将以任何一种方式提交。您还应该致电以阻止Ajax表单提交的默认表单操

  • 问题内容: 在下一页中,使用Firefox的“删除”按钮提交表单,但“添加”按钮不提交。如何防止“删除”按钮提交表单? 问题答案: 你正在使用HTML5按钮元素。请记住,原因是此按钮具有默认的提交行为,如W3规范所述,如此处所示: W3C HTML5按钮 因此,你需要明确指定其类型: 为了覆盖默认的提交类型。我只想指出发生这种情况的原因=)

  • 1、通过JavaScript屏蔽提交按钮(不推荐) 2、给数据库增加唯一键约束(简单粗暴) 3、利用Session防止表单重复提交(推荐) 4、使用AOP自定义切入实现

  • 问题内容: 我一直在尝试React。在我的实验中,我正在使用Reactstrap框架。当我单击按钮时,我注意到HTML表单已提交。有没有一种方法可以防止单击按钮时提交表单? 我在这里重新创建了我的问题。我的表单很基本,看起来像这样: 我想念什么? 问题答案: 我认为首先要注意的是,如果没有javascript(纯HTML),则在单击或时会提交元素。在javascript中,您可以通过使用事件处理程

  • 我正在做一个Django项目,其中一个表单不会提交。我发现罪魁祸首是一些JavaScript,它格式化了货币输入(当我移除JS或移除输入时,它提交) 这是我的简化表单--JS来自html5货币/货币输入

  • 问题内容: 我有一个简单的表格,我不想多次意外提交。 当他们第一次看到该页面时,我可以轻松地阻止他们进行多次单击,但是我无法控制他们单击“后退”按钮。 因此,在与Struts合作之后,我决定采用表单提交令牌。 有更容易的方法吗?Seam中已经有此功能吗?如果没有,我应该如何在Seam中构建此功能? //编辑//这里只是澄清一下,我不需要某些东西可以防止用户双击。已经解决了。 具体用例如下:用户单击