最近和朋友聊天时说到我博客很长时间没有更新了.想来也是,看看寥寥的几篇文章最近的离现在也有几个月时间了.究其原因只有一个字:懒.看来是时候弄点东西了.最近将陆续把工作及学习中遇到的知识点发出来,希望能给用到的朋友起到一定参考的作用也可见证一下自己的成长历程,呵呵!
废话少说正式开始!
1.问题背景:
最近做项目时把用户登陆做成用户控件然后用Ajax验证,成功就导到对应页面否则提示登陆失败.其中在页面中的JavaScript脚本方法中遇到了服务器端控件时要改成用户控件ID加服务器控件ID,这样实现起来麻烦不说而且很不灵活.
2.解决方法:Javascript脚本获取页面中类型为input的元素.找到你要用的控件即可
3.代码:(注意服务器控件ID要起的特别一点以免与父页面产生冲突)
1
<script language='javascript' type='text/javascript'>
2
function IsValidateNumber()
3
{
4
var result=0;
5
6
var m=0;
7
var t=document.getElementsByTagName("input");//关键点
8
var tbCode,tbPassword
9
for(var i=0;i<t.Length;i++)
10
{
11
if(t[i].type=="text" && t[i].indexOf("tbLoginCode")!=-1)
12
{
13
tbCode=t[i];
14
break;
15
}
16
}
17
for(var i=0;i<t.Length;i++)
18
{
19
if(t[i].type=="password" && t[i].indexof("tbLoginPassword")!=-1)
20
{
21
tbPassword=t[i];
22
break;
23
}
24
}
25
}
<script language='javascript' type='text/javascript'>2
function IsValidateNumber()3
{4
var result=0;5
6
var m=0;7
var t=document.getElementsByTagName("input");//关键点8
var tbCode,tbPassword9
for(var i=0;i<t.Length;i++)10
{11
if(t[i].type=="text" && t[i].indexOf("tbLoginCode")!=-1)12
{13
tbCode=t[i];14
break;15
}16
} 17
for(var i=0;i<t.Length;i++)18
{19
if(t[i].type=="password" && t[i].indexof("tbLoginPassword")!=-1)20
{21
tbPassword=t[i];22
break;23
}24
}25
} 这样就获取了你要用到的控件ID,想怎么用就怎么用.OK
注意:触发客户端验证的事件应该在cs文件里注册;例如:
btnLogin.Attributes.Add("onClick","return IsValidateNumber();");
=========================================================
修改:
今天刚在园子里发现篇关于这个问题的文章,其解决方法简单有效;下边是代码:
var txtName=document.getElementById("<% =tbLoginName.ClientID %>");


浙公网安备 33010602011771号