Jquery关于setCustomValidity绑定submit事件的一些冲突。

qq_42226655 2018-05-17 08:48:00
$(function(){
$("#formRegister").submit(function(){
if($("#pass").val().length<6){
var z=document.getElementById("pass");
z.setCustomValidity("密码长度不能小于6");
}
if($("#pass").val()!=$("#rpass").val()){
var y=document.getElementById("rpass");
y.setCustomValidity("两次密码必须一致");
}
})
使用表单的submit事件,提交表单的时提示信息并不是我自定义的。 但是我用按钮的click事件却可以自定义提示信息。
开始我是这么理解的,我认为click事件的处理事件应该是在submit事件之前,而调用validity自定义提示信息,是在sumbit提交的时候,所以我使用submit设置自定义信息的时候,他已经执行过了那个显示信息的方法。
以上是我的猜想,但是并不正确,因为,如果是这样的话,那我第二次点击提交按钮的时候,应该就会提示我的自定义消息啊。难道说每一次点击提交,都是一个独立的对象嘛?
我说的有点乱,求大神帮忙解释以下。
...全文
312 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
天际的海浪 2018-05-17
  • 打赏
  • 举报
回复
事件顺序如下: (1)submit按钮的click事件,若取消默认事件,则终止 (2)html5表单验证和提示,若表单验证不通过,则提示第一个不合法输入,并终止 (3)form表单的submit事件,若取消默认事件,则终止 注意: 用js触发form的submit事件,会直接进入第(3)步,不会进行html5表单验证。 所以,要想出现html5的验证提示,必须经过submit按钮。 html5的setCustomValidity的详细介绍 http://www.php.cn/html5-tutorial-359639.html

87,842

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧