当前位置:编程学习 > JS >>

JSP验证码刷新无效问题解决

在form表单中,如下

[html]
<form name="infof"> 
   <font color="red">姓名:</font> <input name="name" type="text"></input><br> 
   <font color="red">密码:</font> <input name="password" type="password"></input><br> 
   验证码:<input name="validate" type="text"> 
   <img name="vali" border=0 src="validate.jsp" onclick="refresh()"/> 
   <a href="JavaScript:refresh()">看不清,换一张</a> 
   <br> 
   <input type="button" onclick="login()" value="登录"> <input 
    type="reset"> 
  </form> 

在验证码图片中,调用的是validate.jsp,用于生成验证码图片。这个jsp中的内容如下:

[html]
<body> 
    <% 
        response.setHeader("Pragma", "No-cache"); 
        response.setHeader("Cache-Control", "no-cache"); 
        response.setDateHeader("Expires", 0); 
        BufferedImage image = new BufferedImage(75, 30, 
                BufferedImage.TYPE_INT_RGB); 
        Graphics g = image.getGraphics(); 
        g.setColor(Color.gray); 
        g.fillRect(0, 0, 75, 30); 
 
        String randStr = String.valueOf(new Random().nextInt(8999) + 1000); 
        session.setAttribute("randStr", randStr); 
 
        g.setColor(Color.black); 
        g.setFont(new Font("", Font.PLAIN, 20)); 
        g.drawString(randStr, 10, 20); 
        for (int i = 1; i <= 120; i++) { 
            int x = new Random().nextInt(75); 
            int y = new Random().nextInt(30); 
            g.setColor(Color.blue); 
            g.drawOval(x, y, 1, 1); 
        } 
        ImageIO.write(image, "JPEG", response.getOutputStream()); 
        out.clear(); 
        out = pageContext.pushBody(); 
         
    %> 
</body> 
好了,现在大头戏来了。

<img name="vali" border=0 src="validate.jsp" onclick="refresh()"/>
   <a href="JavaScript:refresh()">看不清,换一张</a>

中,无论是链接还是onclick方法,都是指到js中的一个方法。

具体如下:

[javascript]
<script type="text/javascript"> 
        function refresh(){ 
            infof.vali.src=""; 
            infof.vali.src="validate.jsp"; 
             
        } 
    </script> 

本来呢,infof.vali.src="";这条语句我是没有的。当我点击图片,或者点击链接的时候,我发现,validate.jsp都没有被调用。无论我怎么设置缓存设置(可能是我还没有设置到点上)

干脆,我自己想了个办法,我用这种方法 解决了刷新验证码无效的问题。

经过测试,链接和点击图片都可以~~~问题解决


摘自 MELEARNER的专栏
补充:Web开发 , Jsp ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,