黑马旅游网项目中“点击更换验证码中遇到的问题”

黑马旅游网项目中“点击更换验证码中遇到的问题”

项目场景:

项目场景:在编写黑马用户管理项目中的登录功能更换验证码时遇到的点击更换问题


问题描述和分析:

用checkCodeServlet制作的验证码不能被点击更新,原因是js中编写的refreshCode()函数不能被调用。

//js中refreshCode()代码
<script type="text/javascript">
        //切换验证码
        function refreshCode(){
            //1.获取验证码图片对象
            var vcode = document.getElementById("vcode");

            //2.设置其src属性,加时间戳
            vcode.src = "${pageContext.request.contextPath}/checkCodeServlet?time="+new Date().getTime();
        }

 </script>

继续寻找问题发现,下面的写法是不推荐的,refreshcode是希望点击时候被执行的js方法,就应该严格的写在onclick里面,href的只能就是执行页面迁移,否则在个别浏览器(如IE6)中,会出现ajax挂起的现象。

<!--问题原型-->
<a href="javascript:refreshCode();">点击换一张验证码</a>

<!--实际项目中遇到情况-->
<a href="javascript:refreshCode();">
	<img src="${pageContext.request.contextPath}/checkCodeServlet" title="看不清点击刷新" id="vcode"/>
</a>

解决方案:

建议写成这样,通过onclick来实现点击验证码时更换:

<a href="#" onclick="refreshCode();return false;">点击换一张验证码</a>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值