FineUI 官方论坛

标题: 点击刷新验证码 [打印本页]

作者: 河蟹社会    时间: 2012-5-2 14:00
标题: 点击刷新验证码
怎么实现点击刷新验证码?IMG也没有什么可用的事件啊?
如果验证失败,会再次加载验证码,但是为什么验证码却没有发生变化?

作者: Landroid    时间: 2012-5-2 18:54
用js实现
<img src="ValidateCode.aspx" id="validatecode" />

<script type="text/javascript">
    $("#validatecode").click(function () { this.src = this.src + "?date=" + Date().toString(); });
</script>
作者: 十八年,十年    时间: 2012-11-14 09:46
楼上的代码有问题啊。。。。如果你使用的是 例子 Login代码的话,应该是这样的。
$(function () {
       window.setTimeout(function(){ /**不延迟的话,此时无法找到图像控件对象**/
        $("#imgCaptcha > img").click(function () { /**注意,imgCaptcha 是一个div对象,所以必须再加上 >img 来找到实际的验证码图片对象; 另外,上述代码只有在 4.0 且 ClientIDMode='Statics' 时才有效,**/
            this.src = this.src + "&date=" + Date().toString();
        }      
     ) },200);;
    });
作者: 十八年,十年    时间: 2012-11-14 09:49
其他模式下,你应该使用$("#winLogin_SimpleForm1_imgCaptcha> img")  。。。。
呵呵,但这样还是不行,为啥?看代码, captcha.ashx 中没有重新产生 随机数,所以无论怎么刷,还是同一个随机数,所以你需要把 Login.aspx 中的随机数产生代码移到 captcha.ashx 中去;

呵呵,俺刚刚学习 extasp.net,就遇到这个问题了;
作者: 十八年,十年    时间: 2012-11-14 10:13
再顺便说一下,如果你的Img控件首先 Visible=False,ImageURl为null, 但在 Form_Load 中设置该控件的 ImageURL,
例如, 如下设置: if (!this.IsPostBack) { .... } 之类的,
然后,在事件处理中设置 Img控件的 Visible=true,
你会发现 Img控件的图片无法显示出来,
感觉上这个是一个 Bug;没有在ViewState中正确记住 Img控件的ImageURL;




欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/) Powered by Discuz! X3.4