如何避免表单提交?
P粉545218185
P粉545218185 2023-08-21 13:38:16
0
2
489
<p>我有一个表单,在其中的某个地方有一个提交按钮。</p> <p>然而,我想以某种方式“捕捉”提交事件并阻止其发生。</p> <p>有没有办法可以做到这一点?</p> <p>我不能修改提交按钮,因为它是一个自定义控件的一部分。</p>
P粉545218185
P粉545218185

全部回复(2)
P粉463418483

您可以像这样使用内联事件onsubmit

<form onsubmit="alert('停止提交'); return false;">

或者

<script>
   function toSubmit(){
      alert('我不会提交');
      return false;
   }
</script>

<form onsubmit="return toSubmit();">

示例

现在,在开发大型项目时,这可能不是一个好主意。您可能需要使用事件监听器。

在这里阅读有关内联事件 vs 事件监听器(addEventListener和IE的attachEvent)的更多信息。因为我无法比Chris Baker解释得更好。

P粉399585024

与其他答案不同,返回false只是答案的部分。考虑在返回语句之前发生JS错误的情况...

html

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

script

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

在这里返回false不会被执行,表单将以任何方式提交。您还应该调用preventDefault来阻止Ajax表单提交的默认操作。

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

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

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

function mySubmit(e) { 
  e.preventDefault(); 
  try {
   someBug();
  } catch (e) {
   throw new Error(e.message);
  }
  return false;
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!