在asp.net中的javascript中获取服务器端控件ID?

时间:2011-07-16 09:35:03

标签: javascript asp.net

我在asp:table中有asp:ImageButton。 我想在javascript中获取按钮的ID,我想基于条件启用按钮。我是如何实现云的。 我尝试如下。

var btn;
btn = document.getElementById('<%= generateRptbtn.ClientID%>').value;
btn.enabled = true;

但是我作为btn值变空了。

3 个答案:

答案 0 :(得分:8)

不要使用价值。

 var btn = document.getElementById('<%= generateRptbtn.ClientID%>');
 btn.disabled = false;

这样你就可以获得实际的按钮对象。 Value将返回由asp按钮

呈现的html输入元素的value属性的内容

另外我相信javascript你会将disabled设置为false而不是启用为true

答案 1 :(得分:4)

查看这篇文章。在javascript中有2-3种获取控件ID的方法

http://codedotnets.blogspot.in/2012/01/how-get-id-server-control-javascript.html

还有一件事,一旦你禁用了控件,它就无法获得该控件的ID或值。也就是button.disable = false;

答案 2 :(得分:0)

我在MSDN网站上找到了另一个解决方案。我认为这种方式很简单,“干净”。我在asp.net 4.0中使用它,我不确定,它是否适用于较低版本
如果你在你的aspx代码中将Button的属性ClientIDMode设置为“Static”,就像这样

<asp:Button ClientIDMode="Static" runat="Server" ID="generateRptbtn" />

然后在你的.js代码中你可以调用

var btn = document.getElementById('generateRptbtn');
btn.disabled = false;


如上所述 latr0dectus ,您无法调用

var btn = document.getElementById('generateRptbtn').value;


以下是MSDN网站http://msdn.microsoft.com/en-us/library/dd410598(v=vs.100).aspx的链接。