我创建了一个简单的 HTML 表单,然后使用 Javascript 验证表单数据,但是当我提交表单时,它突出显示未填充的、不正确的红色文本框,并突然页面直接转到表单操作路径。这是什么原因?解释一下我是 JavaScript 新手。如果需要,我可以在这里发布我的代码..请帮助我。
最佳答案
您忘记取消默认事件(即提交表单)。
但除此之外,您不应该使用 JS 进行表单验证。 HTML5 为我们提供了所需的所有工具。
示例:
<input type="email" required />
尝试输入电子邮件地址以外的内容。或者什么都没有。您的浏览器以 native 方式为您处理它。毕竟,屏幕阅读器如何知道文本框边框变为红色意味着填写错误?
<input type="date" />
日历!希望...好吧,虽然还没有支持所有内容,但这一点仍然成立。如果你编写自己的 JS 验证,你将不可避免地会出错,并花费大量时间调试浏览器已经可以为你做的事情;)
关于JavaScript 验证无法正确执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23569190/