JQuery

1个成员

JQuery 刷新验证码实现程序

发表于 2017-02-15 3358 次查看
本文章总结了多种利用刷新验证码的javascript与jquery代码,并且兼容ie,ff这类浏览器,有需要的朋友可参考参考。

Html代码:

 代码如下 复制代码
<span id="checkCode"> </span>
<a id="notClear" href="javascript:void(0)">看不清?</a>

 
javascript

 代码如下 复制代码

<img src="../inc/ver.php" onclick="this.src='../inc/ver.php';" />

Jquery:

方法一(ie无效,ff有效):

 代码如下 复制代码
$("#checkCode").html("<img src=checkCode.php?r="+Math.random()+" />");
$("#notClear").click(function(){
$("#checkCode").html("<img src=checkCode.php?r="+Math.random()+" />");
});

 
方法二(ie,ff均有效):

 代码如下 复制代码
$("#checkCode").empty().append("<img src=¹checkCode.php¹ />");
$("#notClear").click(function(){
$.post("checkCode.php?r="+Math.random(),function(data){
$("#checkCode").empty().append("<img src=¹checkCode.php?r="+Math.random()+"¹ width=¹44¹ height=¹18¹ />");
});
});

方法三(全面支持)

 代码如下 复制代码

function changeImg(){
 var imgSrc = $("#imgObj");
 var src = imgSrc.attr("src");
 imgSrc.attr("src",chgUrl(src));
}
//时间戳
//为了使每次生成图片不一致,即不让浏览器读缓存,所以需要加上时间戳
function chgUrl(url){
 var timestamp = (new Date()).valueOf();
 url = url.substring(0,17);
 if((url.indexOf("&")>=0)){
  url = url + "×tamp=" + timestamp;
 }else{
  url = url + "?timestamp=" + timestamp;
 }
 return url;
}

function isRightCode(){
 var code = $("#veryCode").attr("value");
 code = "c=" + code;
 $.ajax({
  type:"POST",
  url:"resultServlet",
  data:code,
  success:callback
 });
}

function callback(data){
 $("#info").html(data);
}

html页面

 代码如下 复制代码

<html> 
    <head> 
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
        <script type="text/javascript" src="js/verifyCode.js"></script> 
        <script type="text/javascript" src="js/jquery.js"></script> 
        <title>test verify code</title> 
    </head> 
    <body> 
        <input id="veryCode" name="veryCode" type="text"/> 
        <img id="imgObj" alt="" src="verifyCodeServlet"/> 
        <a href="#" onclick="changeImg()">换一张</a> 
        <input type="button" value="验证" onclick="isRightCode()"/> 
        <div id="info"></div> 
    </body> 
</html>

发表回复
你还没有登录,请先登录注册