码迷,mamicode.com
首页 > Web开发 > 详细

无法在提交表单前通过ajax验证解决办法

时间:2014-10-27 16:58:30      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   color   os   使用   for   sp   数据   

博主在一个小项目中,要实现注册表单无刷新验证用户名或密码,但是发现不管怎么样都无法在先通过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验证解决办法

标签:style   blog   io   color   os   使用   for   sp   数据   

原文地址:http://www.cnblogs.com/mrcln/p/4054313.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!