做个注册的程序,生成验证码,在textbox1(txtIamgeValidate)中输入生成的验证码,在textbox2(txtValidate) 中记录生成的验证码,textbox2.visible=false,在前段写个一个javascript函数:
function Validate()
{
var text1=document.getElementById("txtIamgeValidate").value;
var text2=document.getElementById("txtValidate").value;
if(text1!=text2)
{
alert("您输入的验证码不正确");
}
}
然后再程序中的page_load中,添加一行代码:this.txtIamgeValidate.Attributes.Add("onblur", "Validate()");
在焦点离开时执行Validate(),以判断输入的验证码是否正确,但是在程序运行过程中,提示出错:Microsoft JScript 运行时错误: 缺少对象。一看后面控件的ID全都给改了。怎么回事,有知道的吗,谢谢!!!
function Validate()
{
var text1=document.getElementById("txtIamgeValidate").value;
var text2=document.getElementById("txtValidate").value;
if(text1!=text2)
{
alert("您输入的验证码不正确");
}
}
然后再程序中的page_load中,添加一行代码:this.txtIamgeValidate.Attributes.Add("onblur", "Validate()");
在焦点离开时执行Validate(),以判断输入的验证码是否正确,但是在程序运行过程中,提示出错:Microsoft JScript 运行时错误: 缺少对象。一看后面控件的ID全都给改了。怎么回事,有知道的吗,谢谢!!!
var text2=document.getElementById("<%=this.txtValidate.ClientID%>").value;
况且,内容又改了,改成这样了:
var text1=document.getElementById(" ctl00_ContentPlaceHolder1_txtIamgeValidate").value;
var text2=document.getElementById(" ctl00_ContentPlaceHolder1_txtValidate").value;
这一行代码上,况且代码又修改了:
var text1=document.getElementById("ctl00_ContentPlaceHolder1_txtIamgeValidate").value;
var text2=document.getElementById("ctl00_ContentPlaceHolder1_txtValidate").value;
缺少对像是因为你的textbox2的visible设置成了false过后,根本就不会输出到客户端,
所以你在客户端用JS去操作它,当然是说缺少对象啊!你滴明白???
<asp:TextBox ID="textbox2" runat="server" style="display:none"></asp:TextBox>
textbox的visible为false时你不可能在客户端引用或者找到它!你把textbox2的样式设置为不可见,就能在客户端找到了,textbox的visible为false,表示不在客户端显示,不在客户端显示就不会输出到客户端
你把它的style设置成"display:none"后,意思就是在客户端隐藏为不可见,但还是输出到了客户端!
你滴明白???
这个有点忘了,你在JS里这样写看对不 " text1.Focus()"
Microsoft JScript 运行时错误: 'ctl00_ContentPlaceHolder1_txtIamgeValidate' 未定义
var obj = document.getElementById( <%=this.txtIamgeValidate.ClientID%>);
alert(obj);
看弹出的是什么东东;
function Validate()
{
var text1=document.getElementById("<%=this.txtIamgeValidate.ClientID%>").value;
var text2=document.getElementById("<%=this.txtValidate.ClientID%>").value;
if(text1!=text2)
{
alert("您输入的验证码不正确");
document.getElementById( <%=this.txtIamgeValidate.ClientID%>).focus();
}
}
</script>这是js代码,上面最后一样是刚才按照您的写上去的,执行就出错阿
在后面的page_load中有一行代码:
this.txtIamgeValidate.Attributes.Add("onblur", "Validate()");
不知道你为什么把焦点移向验证码上,你那个隐藏的,你移上去干嘛?????我先吃饭了,我是饭桶
哈哈!!一会帮你看看
同17楼的一样,在17楼时忘了加引号了!!!