为什么验证码只可以刷新一次

DDRsun 发布于 2012/08/17 17:30
阅读 531
收藏 0
可以刷新,但是还是第二次点击之后的,都是只变形状和颜色,字符没变

奇怪的是,我断点到CreatValitedateString(6)生成验证字符串,load的时候他运行了两次,才显示页面,验证图片上出现的是第一次生成的字符串,为什么 function Change() 函数会先运行一次? 
我删了function Change()之后,CreatValitedateString(6)生成验证字符串就只运行一次正常了,但就不能刷新了啊?怎么办 

<script>代码: 
function Change() { 

var a = "<%=CreatValitedateString(6)%>"; 

document.getElementById("ValidateImage").src = "ValidateImage.aspx?Validator=" + a; 
} 

image代码: 
<asp:Image ID="ValidateImage" runat="server" Height="30px"  
style="margin-left: 39px;cursor:pointer" Width="125px" ImageAlign="AbsBottom" onclick="javascript:Change();" />

加载中
0
DDRsun
DDRsun
求解答啊~~
0
答复哈
答复哈

我去...看不懂代码呢~

你应该是想在Change()的时候,改变a的值,然后生成验证码吧,但这个a应该只有第一次进入页面的时候就给了固定的值,触发Change()事件的时候,并没有再次执行"<%=CreatValitedateString(6)%>"

0
DDRsun
DDRsun

引用来自“答复哈”的答案

我去...看不懂代码呢~

你应该是想在Change()的时候,改变a的值,然后生成验证码吧,但这个a应该只有第一次进入页面的时候就给了固定的值,触发Change()事件的时候,并没有再次执行"<%=CreatValitedateString(6)%>"

是的,"<%=CreatValitedateString(6)%>" 这个是服务端cs里的生成验证字符串的类

那为什么没有再次执行了呢?代码应该怎么写?想了很久


其实情况是这样的:我有一个
RequiredFieldValidator控件,在执行click前就提示验证码不能为空,有什么办法绕开吗?所以才用JS的代码来刷新

0
leo108
leo108
建议你好好思考下WEB前端和后端的问题,他们之间的执行顺序,个人感觉.net的这种MVC不利于新手理解前后端的关系
0
Mr.CT
Mr.CT
加个随机参数就得了啊。我靠
返回顶部
顶部