首页 > 代码库 > 无法在提交表单前通过ajax验证解决办法
无法在提交表单前通过ajax验证解决办法
博主在一个小项目中,要实现注册表单无刷新验证用户名或密码,但是发现不管怎么样都无法在先通过ajax验证之前不提交表单。
例如:一个简单的验证函数
1 function check(){2 $.post("#name")("xxx.php",{user:user}function(msg){3 if(msg){return false;}4 })5 }
1 <form class="form" method="post" action="xxx.php" onsubmit="return check()">2 <input type="text" name="user" id="user" />3 <button type="submit" value="提交"/>4 </form>
提交会发现,表单直接提交了,而不会执行$.post里的事件。
有网友这样解决的:
1、用blur,在文本框失去焦点后传输数据并验证,返回结果。
缺点:如果用户浏览器记录了表单信息,用户不会再点击文本框,提交后还是无法验证文本框。
2、干脆不用submit,把button的type改成button,再添加一个点击函数onclick="check()",如果验证通过再$("form").submit()提交表单
缺点:无法使用html5验证。
博主就收集了这两种办法,如果有别的做法,不妨交流一下哦。
无法在提交表单前通过ajax验证解决办法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。