大佬教程收集整理的这篇文章主要介绍了允许 HTML 表单验证但一旦完成就停止提交,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道一种阻止表单提交的方法,但是即使表单没有通过 HTML 验证,我也有一个单击事件到提交按钮并触发它。@H_502_1@
<form ID="signupform" class="signupform" onsubmit="(E)=>{e.preventDefault()};return false">
</form>
我的目标是以任何一种方式停止页面刷新(无论是否验证),但仍允许先运行内置验证。@H_502_1@
有什么建议吗?@H_502_1@
submit
按钮的作用是触发 submit
的 form
事件。因此,对于 form
元素,您无需在 click
按钮上设置 submit
事件,而是在 submit
上设置 form
事件处理程序。
然后,为了在混合中引入验证,您可以停止本机 submit
在处理程序中发生,仅当验证失败时。这是通过访问自动发送到每个 DOM 事件处理程序 * 的 event
参数来完成的(有关警告,请参阅下一段)。您可以使用 event.preventDefault()
方法阻止本机事件发生。
*最后一个音符,the use of inline HTML event handling attributes such as onsubmit
and onclick
is to be avoided。这是我们在制定标准之前使用的 25 年以上的技术,不幸的是,因为它们看起来很容易使用,所以它们会被不知道更好的新开发人员复制。有真正的理由不使用它们,而您偶然发现了其中之一。 事件处理函数的 e
参数没有像您认为的那样填充对 event
的引用。这仅在您使用现代标准方式设置事件回调,即 .addEventListener()
。
// Set up a submit event handler for the form
// not a click event handler for the button because
// clicking a submit button triggers the form's submit event
document.querySELEctor("form").addEventListener("submit",function(event){
if(document.querySELEctor("input").value === ""){
// Invalid data! Stop the submit!
event.preventDefault();
alert("Please fill in all fields!");
return;
}
// If the code reaches this point,validation succeeded
console.log("Form submitted");
});
<form action="https://example.com" method="post">
<input>
<button>Submit</button>
</form>
以上是大佬教程为你收集整理的允许 HTML 表单验证但一旦完成就停止提交全部内容,希望文章能够帮你解决允许 HTML 表单验证但一旦完成就停止提交所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。