繁体   English   中英

如何停止表单提交?

[英]How to stop form submission?

我是 JavaScript 的新手。如果任何验证条件返回 false,我需要阻止提交表单。

前任:-

if((document.getElementById("name").value)==""){
    alert("'Name' field can not be empty");
    return false;
}

我尝试<form onsubmit="return validate();"><form onsubmit="event.preventDefault(); validate();"> 这些都没有帮助。 第一个提示相同的警报消息两次。 第二个连续提示所有警报消息。 我想要的是,

  1. 如果出现一个false条件,我需要浏览器停止表单提交,并提示相关的alert信息。
  2. 如果有多个错误条件,我需要浏览器停止表单提交,只提示一条警告消息。

有什么方法可以通过使用 JavaScript(没有 JavaScript 库)来实现吗?

对不起,如果有任何语法错误,英语不是我的第一语言:(

您需要调用事件 object 的 preventDefault,该事件作为您从 EventListener 的回调 function 获得的参数。 像那样:

...
<head>
<script>
window.addEventListener("load",init);
function init()
  {document.getElementById("form").addEventListener("submit",function(e)
     {e.preventDefault();});}
</script>
</head>
<body>
<form id="form">
  <input type="submit">
</form>
</body>
...

您可以随意调用该参数,也可以在其他地方定义 function。

...
<script>
window.addEventListener("load",init);
function init()
  {document.getElementById("form").addEventListener("submit",handleSubmit);}
function handleSubmit(event)
  {event.preventDefault();}
</script>
...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM