无法在提交表单前通过ajax验证解决办法
博主在一个小项目中,要实现注册表单无刷新验证用户名或密码,但是发现不管怎么样都无法在先通过ajax验证之前不提交表单。
例如:一个简单的验证函数
 function check(){
     $.post("#name")("xxx.php",{user:user}function(msg){
     if(msg){return false;}
 })
 }
<form class="form" method="post" action="xxx.php" onsubmit="return check()">
<input type="text" name="user" id="user" />
<button type="submit" value="提交"/>
</form>
提交会发现,表单直接提交了,而不会执行$.post里的事件。
有网友这样解决的:
1、用blur,在文本框失去焦点后传输数据并验证,返回结果。
缺点:如果用户浏览器记录了表单信息,用户不会再点击文本框,提交后还是无法验证文本框。
2、干脆不用submit,把button的type改成button,再添加一个点击函数onclick="check()",如果验证通过再$("form").submit()提交表单
缺点:无法使用html5验证。
博主就收集了这两种办法,如果有别的做法,不妨交流一下哦。
无法在提交表单前通过ajax验证解决办法的更多相关文章
- Ajax实现提交表单时验证码自动验证(原创自Zjmainstay)
		本文通过源码展示如何实现表单提交前,验证码先检测正确性,不正确则不提交表单,更新验证码. 1.前端代码 index.html <!DOCTYPE html> <html> &l ... 
- Ajax提交表单时验证码自动验证 php后端验证码检测
		本文通过源码展示如何实现表单提交前,验证码先检测正确性,不正确则不提交表单,更新验证码. 1.前端代码 index.html <!DOCTYPE html> <html> &l ... 
- jQuery:提交表单前判断表单是否被修改过
		表单加载完成后执行 : //表单中包含input(text,checkbox,hidden),select,radio, $("#editWithdrawAutoApprovedConf ... 
- PHP网站提交表单如何实现验证码验证功能
		很多小伙伴在原生网站时候都会遇到很多意料之外的情况发生,也有不少小伙伴在初学程序代码的时候可能会因为一个小小的逗号隐藏在几百行,几千行的代码中出错常见的在提交表单中很多事需要验证码验证,那么如何来实现 ... 
- EasyUI加zTree使用解析 easyui修改操作的表单回显方法 验证框提交表单前验证  datagrid的load方法
		带参提交一次查询,从服务器加载新数据.这是一个神奇的方法 $('#dg').datagrid('load',{ code: '01', name: 'name01' }); easyui修改操作的回显 ... 
- form表单1的ajax验证
		form表单的ajax验证1: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"&g ... 
- dede自定义表单放首页出错的解决办法
		一.当自定义表单放首页提交的时候跳出这个页面怎么解决 二.解决办法 可能有多个from表单提交出错,也就是代码冲突的意思,只要把代码检查好,from提交不要重复冲突就可以了 
- ASP.NET Core 1.0中实现文件上传的两种方式(提交表单和采用AJAX)
		Bipin Joshi (http://www.binaryintellect.net/articles/f1cee257-378a-42c1-9f2f-075a3aed1d98.aspx) Uplo ... 
- JQuery ajax提交表单及表单验证
		JQuery ajax提交表单及表单验证 博客分类: jsp/html/javascript/ajax/development Kit 开源项目 注:经过验证,formValidator只适合一个 ... 
随机推荐
- hdu 4281(MTSP)
			题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4281 题意:给出N个点,第一个点是裁判,其他N-1个点需要裁判过去回答问题,每个点需要的时间不一样,而 ... 
- ubuntu安装shadowshocks-qt5
			sudo add-apt-repository ppa:hzwhuang/ss-qt5 sudo apt-get update sudo apt-get install shadowsocks-qt5 ... 
- Linux IO模型和网络编程模型
			术语概念描述: IO有内存IO.网络IO和磁盘IO三种,通常我们说的IO指的是后两者. 阻塞和非阻塞,是函数/方法的实现方式,即在数据就绪之前是立刻返回还是等待. 以文件IO为例,一个IO读过程是文件 ... 
- SpringRMI解析3-RmiServiceExporter逻辑细节
			在发布RMI服务的流程中,有几个步骤可能是我们比较关心的. 获取registry 由于底层的封装,获取Registry实例是非常简单的,只需要使用一个函数LocateRegistry.createRe ... 
- 端口偷窃(Port Stealing)技术
			端口偷窃(Port Stealing)技术 该技术主要用于局域网中间人攻击中,尤其目标计算机采用静态ARP后,导致ARP欺骗无效. 背景知识:路由器为了方便转发数据包,会在内部记录每个接口和M ... 
- OA
			OA(政府) http://zw.wuzhitong.com/oa_wuzhitong/index.asp http://www.wuzhitong.com/Information_ZW.html O ... 
- iOS学习32之UIKit框架-可视化编程-XIB
			1. Interface Builder 可视化编程 1> 概述 GUI : 图形用户界面(Graphical User Interface, 简称GUI, 又称图形化界面) 是指采用图形方式显 ... 
- soapui中文操作手册(一)----创建一个新的项目
			1) 创建一个新的项目 点击项目,选择新建项目SOAP.这将打开一个新的SOAP项目对话框. 注意:你也可以做CTRL + N(WIN)或CMD+ N(MAC)来创建一个新的SOAP项目. 在新的SO ... 
- NHibernate 中删除数据的几种方法
			今天下午有人在QQ群上问在NHibernate上如何根据条件删除多条数据,于是我自己就写了些测试代码,并总结了一下NHibernate中删除数据的方式,做个备忘.不过不能保证囊括所有的方式,如果还有别 ... 
- BZOJ2769 : YY的快速排序
			将数字离散化并去重,则对于一对逆序对$i<j$,$a_i>a_j$,贡献为$\frac{2}{a_i-a_j+1}$,因此只要对于每个差值统计出对应的逆序对个数即可. 将序列分块,块内平方 ... 
