用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()">
为什么只能刷新一次,就是我点击验证码时,会刷新,但是再次点击时就不行了,这是为什么呢?
js刷新验证码问题
答案:6 悬赏:30 手机版
解决时间 2021-02-23 15:22
- 提问者网友:饥饿走向夜
- 2021-02-23 09:17
最佳答案
- 五星知识达人网友:你哪知我潦倒为你
- 2021-02-23 10:34
<IMG src="/verification/ImageServlet" onclick=" fGetCode()">
这个标签没有ID,改这样看看:
<IMG id="checkImg" src="/verification/ImageServlet" onclick=" fGetCode()">
这个标签没有ID,改这样看看:
<IMG id="checkImg" src="/verification/ImageServlet" onclick=" fGetCode()">
全部回答
- 1楼网友:笑迎怀羞
- 2021-02-23 15:40
document.getElementById('checkImg').src='/verification/ImageServlet?temp='+Math.random();
- 2楼网友:蕴藏春秋
- 2021-02-23 14:15
因为你刷新后IMG对象已经变化了,不是原来的图片dom对象了,所以注册的onclick事件也没了,
这样就要找一个固定不变的dom对象来注册事件。
在img外面加个div,把onclick事件加到这个div上
<div onclick="fGetCode()">
<IMG id="checkImg" src="/verification/ImageServlet">
</div>
- 3楼网友:深街酒徒
- 2021-02-23 13:08
onclick="this.src='yzm.php?'+new Date().getTime()";
- 4楼网友:从此江山别
- 2021-02-23 11:33
问题出在Math.random(),这个获取的是一个浮点小数(0.XXXXXX),所以每次虽然小数不同但是系统会自动变成整数'0’。所以点再多次temp获取到的随即数都是0没有变化,所以获取不到新的验证码,其次src='/verification/ImageServlet?temp=Math.random()'你这种写法有问题,应该写成:src='/verification/ImageServlet?temp=’+Math.random(),建议通过日期函数给temp赋随机值。
- 5楼网友:酒安江南
- 2021-02-23 11:26
你的随机数生成写在引号里边了,会把它当成字符串的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯