我在asp:table中有asp:ImageButton。 我想在javascript中获取按钮的ID,我想基于条件启用按钮。我是如何实现云的。 我尝试如下。
var btn;
btn = document.getElementById('<%= generateRptbtn.ClientID%>').value;
btn.enabled = true;
但是我作为btn值变空了。
答案 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的链接。