扫码关注官方订阅号
这里的checkName()w为什么不能是我所期待的返回值(true/false),怎么获得chekName()的返回值,在使用ajax的基础上?求高人指点,刚开始学习使用ajax进行表单验证;遇到这种问题不知道怎么解决?
function checkName(){ var name=ele.name.value; if(name!= ""){ xmlhttp=new XMLHttpRequest(); url="http://localhost/chkname.php"; xmlhttp.onreadystatechange =function(){ if(xmlhttp.readyState == 4){ if(xmlhttp.status == 200){ var msg = xmlhttp.responseText; if(msg == '1'){ ele.name.className="";//移除class ele.imgs[0].setAttribute("src","img/right.jpg"); //对应图标 ele.imgs[0].style.display = "inline"; //显示 return true; }else{ ele.name.className="borderRed";//移除class ele.imgs[0].setAttribute("src","img/wrong.jpg"); //对应图标 ele.imgs[0].style.display = "inline"; //显示 biaoqian1.innerHTML='该用户名已存在'; return false; } } } } xmlhttp.open('POST',url,true); xmlhttp.send(null); } function check(){ //表单提交则验证开始 if(checkName()&&checkPassw2()&&checkEmail()){ alert(" 注册成功"); //注册成功 return true; } else{ alert("请正确的填写完信息!"); return false; } }
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
一楼回答的很详细。使用ajax的原因是因为异步加载,这需要你转变你的思路,不能用同步的思想去写异步的代码。给你一个经典逻辑帮助你入门吧
function beforeAjax() { //一些基础的工作,比如非空验证,获得url,参数字符串等 doAjax(); } function doAjax() { var ajax = new Ajax;//这是伪码 ajax.onSuccess = afterAjax; //这是伪码,可能是onSuccess, onReadyStatusChange等任何事件,只要你的ajax对象支持的就行。 ajax.send(); } function afterAjax(param1, param2, etc...) { //后续的处理 }
这个就是三步走方式的异步代码模型了,首先做好准备,然后开始异步处理,我们不知道异步处理什么时候会完成,所以能做的就是告诉异步处理对象,当xx事发生的时候请调用一下xx方法。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
一楼回答的很详细。使用ajax的原因是因为异步加载,这需要你转变你的思路,不能用同步的思想去写异步的代码。
给你一个经典逻辑帮助你入门吧
这个就是三步走方式的异步代码模型了,首先做好准备,然后开始异步处理,我们不知道异步处理什么时候会完成,所以能做的就是告诉异步处理对象,当xx事发生的时候请调用一下xx方法。