永发信息网

js刷新验证码问题

答案:6  悬赏:30  手机版
解决时间 2021-02-23 15:22
用js控制验证码刷新
<script language=javascript type=text/javascript>

function fGetCode()
{

document.getElementById('checkImg').src='/verification/ImageServlet?temp=Math.random()';

}

</script>
<IMG src="/verification/ImageServlet" onclick=" fGetCode()">
为什么只能刷新一次,就是我点击验证码时,会刷新,但是再次点击时就不行了,这是为什么呢?
最佳答案
<IMG src="/verification/ImageServlet" onclick=" fGetCode()">
这个标签没有ID,改这样看看:
<IMG id="checkImg" src="/verification/ImageServlet" onclick=" fGetCode()">
全部回答
document.getElementById('checkImg').src='/verification/ImageServlet?temp='+Math.random();
因为你刷新后IMG对象已经变化了,不是原来的图片dom对象了,所以注册的onclick事件也没了, 这样就要找一个固定不变的dom对象来注册事件。 在img外面加个div,把onclick事件加到这个div上 <div onclick="fGetCode()"> <IMG id="checkImg" src="/verification/ImageServlet"> </div>
onclick="this.src='yzm.php?'+new Date().getTime()";
问题出在Math.random(),这个获取的是一个浮点小数(0.XXXXXX),所以每次虽然小数不同但是系统会自动变成整数'0’。所以点再多次temp获取到的随即数都是0没有变化,所以获取不到新的验证码,其次src='/verification/ImageServlet?temp=Math.random()'你这种写法有问题,应该写成:src='/verification/ImageServlet?temp=’+Math.random(),建议通过日期函数给temp赋随机值。
你的随机数生成写在引号里边了,会把它当成字符串的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
腾讯手机助手连接电脑的二维码在哪里
工作中生病,没有劳动合同,老板有没有责任
坪口站地址在哪,我要去那里办事
韩束深海双萃清润补水五件套价格 ,韩束官网
打豆浆黑米泡多久
摩托车烧机油是什么
裕丰饭店地址在什么地方,想过去办事
以下各项哪一项不正确:A.肤色苍白,说明血循
此生的成语有哪些
半永久纹唇很多人都听过,但是你听过半永久孕
请问中铁济南勘察设计咨询院好吗?待遇怎么样
明依食品超市地址有知道的么?有点事想过去
滴滴专车都要什么车型有明细表吗
目前,我国正在大力扶持燃气汽车的发展,原因
书夹在大腿根可以瘦大腿吗
推荐资讯
辛山兼戍山头适合农历6月初十开工吗?
为什么我的装备和船都没了
英雄联盟什么英雄打得赢贾克斯?
亲情妙不可言作文800字
如果货车要回家但必须要走货车禁行道怎么办
【蒙牛纯牛奶成分】下图所示的是蒙牛纯牛奶的
没有证人的官司能打赢吗
眼角盘有皱纹!2
和尚口语所说的“南无阿弥陀佛”、“阿弥陀佛
如果两个人在一起没有一个人过得好,那么为什
昂达平板电脑按键错位怎么办?
电视里用手帕把人迷倒的是什么
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?