我的博客| Blog
- ·微信小程序错误:VM564:...
- ·mongodb3.2设置密码...
- ·单行滚动代码-单行滚动效果
- ·自己动手制作图形字体,以便于...
- ·MySQL无限级分类PHP按...
- ·Windows下的Apach...
- ·如何将网站上的文章分享到微信...
- ·PHP实现自动获取本月第几个...
联系我| Contact Me
- 电话:18681257080
- QQ:271538869
- 邮编:518020
- 信箱:service@08321.org
- 地址:四川省内江市资中县
诚信稳健,和谐共赢
- 以诚信为立世之本,在稳健的基础上,不断寻求创新与突破。
- 以务实严谨、精微细致的专业精神,为客户做最优质的策划,实现效果最大化。
成功,依稀可见
- 为什么成功依稀可见?
- 依希认为:每一人都有成功的机会,只要我们愿意付出努力,成功就在我们的前方。所以:成功,依稀可见!
我的博客
客户端验证验证码,客户端检查验证码,解决PHP因验证码清空数据
来源:本站编辑 发布日期:2011-6-10 已有 人浏览过此信息
最近遇到一个棘手的问题,用户在使用网站的过程中,填写好的资料点提交的时候,常常会因为写错验证码而返回重写,此时由于PHP的返回机制是刷新页面,原来已填写好的资料全部丢失。为用户使用网站造成极大的不便。
为了解决PHP因验证码错误而返回清空已填数据的问题,特地研究使用 AJAX 来实现:客户端验证验证码,客户端检查验证码,解决了PHP因验证码清空数据的问题。
本着互联网自由,共享的精神,现放出源码如下,望大家拍砖:
JS代码:
//客户端检查验证码
function ajaxvcode(myform){
var xmlHttp;
eval('var vcode=document.all.'+myform+'.vcode.value;');
try{xmlHttp=new XMLHttpRequest();}
catch (e){try{xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");}
catch (e){try{xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");}
catch (e){alert("您的浏览器不支持AJAX!");return false;}
}
}
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState==4)
{
if (xmlHttp.responseText=='ok' && vcode.length==4){eval('document.all.'+myform+'.submit();');} //验证通过后提交数据
else{alert('验证码输入有误,请检查');}
}
}
xmlHttp.open("GET","api.php?a=checkvcode&vcode="+vcode,true);
xmlHttp.send(null);
}
HTML页面调用:
<script type="text/javascript">
<!--
function checkform(){
ajaxvcode('myform');//注意FORM的名称统一
return false;//注意返回false值
}
//-->
</script>
<form action="" method="post" name="myform" onsubmit="return checkform();"> //注意FORM的名称统一
验 证 码:<input type="text" name="vcode" size="5"/>
</form>
代码由自己编写,亲自己测试通过,解决了客户端验证验证码,客户端检查验证码,PHP因验证码清空数据的问题。
为了解决PHP因验证码错误而返回清空已填数据的问题,特地研究使用 AJAX 来实现:客户端验证验证码,客户端检查验证码,解决了PHP因验证码清空数据的问题。
本着互联网自由,共享的精神,现放出源码如下,望大家拍砖:
JS代码:
//客户端检查验证码
function ajaxvcode(myform){
var xmlHttp;
eval('var vcode=document.all.'+myform+'.vcode.value;');
try{xmlHttp=new XMLHttpRequest();}
catch (e){try{xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");}
catch (e){try{xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");}
catch (e){alert("您的浏览器不支持AJAX!");return false;}
}
}
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState==4)
{
if (xmlHttp.responseText=='ok' && vcode.length==4){eval('document.all.'+myform+'.submit();');} //验证通过后提交数据
else{alert('验证码输入有误,请检查');}
}
}
xmlHttp.open("GET","api.php?a=checkvcode&vcode="+vcode,true);
xmlHttp.send(null);
}
HTML页面调用:
<script type="text/javascript">
<!--
function checkform(){
ajaxvcode('myform');//注意FORM的名称统一
return false;//注意返回false值
}
//-->
</script>
<form action="" method="post" name="myform" onsubmit="return checkform();"> //注意FORM的名称统一
验 证 码:<input type="text" name="vcode" size="5"/>
</form>
代码由自己编写,亲自己测试通过,解决了客户端验证验证码,客户端检查验证码,PHP因验证码清空数据的问题。
