【发布时间】:2019-08-28 05:20:25
【问题描述】:
使用HTML5 form validation 时,表单中的输入值无效将停止提交该表单。如何检测用户尝试提交失败的表单?当提交因验证失败而停止时,表单的onsubmit 处理程序不会触发。
我目前正在提交按钮上监听keypress 和click 事件以检测提交尝试。有没有更好的方法来检测表单提交失败?
【问题讨论】:
-
和onsubmit一样,然后如果有无效的条目就返回false?
-
您有浏览器限制吗? IE10 对 HTML5 验证很好,但旧版本有点欠缺。
-
喜欢 oninvalid 吗? O.o ?
-
@AvnerSolomon 是的,我认为
oninvalid非常接近 OP 正在寻找的内容。不过,oninvalid似乎只适用于输入,而不适用于表单本身。当然,您可以在每个输入上放置一个oninvalid处理程序——这似乎是一个有效的(虽然有些脆弱)的解决方案。 -
@apsillers ...即使您通过javascript进行操作,它也不会像那样工作。有效性属性/对象仅按输入定义。您所能做的就是在按下提交按钮时启动一个函数 onclick 并检查每个元素。
标签: javascript html forms dom-events html5-validation