实用js小汇总--获取服务器控件ID

相信很多朋友遇到过获取服务器控件的这个小需求,网上很多人都是document.getElementById("服务器控件ID"),这样子获得的结果为空。因为ASP.NET在生成页面之后控件的ID 产生了变化,大概就是XXXX_自身的原先ID(如Button的原先ID为Button1,生产之后在页面源代码可以看到变成XXXX_Button1).
接下去展示如何实现:『方法就是通过标记名称,Button在html的标记为input,所以通过getElementsByTagName获得一个Object[]数组结果,然后在循环匹配。。就可以找到了。简单吧!』
function go()
{        
        var tags
=document.getElementsByTagName("input");
        
for(var i=0;i<tags.length;i++)
        
{
            
if(tags[i].id.indexOf("_"+"Button1")>-1)
            
{
               
// alert(tags[i].id);
               document.getElementById(tags[i].id).click();
            }

        }

}



  
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" style="display:none"/>
上面是笔者为了执行按钮事件才这样写的,依据自己实际需求进行更改。。。。。
接下去我就把调用上面那个事件的JS顺便贴出来『笔者是为了关闭窗体的时候,调用上面的按钮事件,也就是函数GO 咯』
//判断窗体是否真正关闭
window.onbeforeunload = function()

var n 
= window.event.screenX - window.screenLeft; 

var b 
= n > document.documentElement.scrollWidth-20


if(b && window.event.clientY < 0 || window.event.altKey)


 
//alert("是关闭而非刷新"); 


}
 
else
{
  
//当前用户离线
  go();

}

}
至于,按钮的后台代码我就不贴了,和这些没太大关联,逻辑就是。。但窗体关闭,,,刷新时,,执行Button1的按钮事件
posted @ 2009-08-24 18:49  萍水相逢  阅读(459)  评论(0编辑  收藏  举报