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

javascript 获取控件里的内容 js动态获取控件的id_服务器控件

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的按钮事件

用心走好每一步!

javascript 获取控件里的内容 js动态获取控件的id_服务器控件_02