程序中需要动态通过JAVASCRIPT调用LinkButton的Text内容,但无论是用alert(document.Form1.all['LinkButton1'].value还是alert(document.Form1.all['LinkButton1'].Text都无法显示,总报undefine,请教:如何如何通过JAVASCRIPT获取LinkButton的Text,程序简化如下:<body MS_POSITIONING="GridLayout" onload="alert(document.Form1.all['LinkButton1'].value);alert(document.Form1.all['Button1'].value);">
<form id="Form1" method="post" runat="server">
<asp:Button id="Button1" style="Z-INDEX: 102; LEFT: 280px; POSITION: absolute; TOP: 136px" runat="server"
Text="Button"></asp:Button>
<asp:Panel id="Panel1" style="Z-INDEX: 104; LEFT: 248px; POSITION: absolute; TOP: 312px" runat="server"
Width="50px">
<asp:LinkButton id="LinkButton1" runat="server" Width="20">LinkB</asp:LinkButton>
</asp:Panel>
</form>
</body>
<form id="Form1" method="post" runat="server">
<asp:Button id="Button1" style="Z-INDEX: 102; LEFT: 280px; POSITION: absolute; TOP: 136px" runat="server"
Text="Button"></asp:Button>
<asp:Panel id="Panel1" style="Z-INDEX: 104; LEFT: 248px; POSITION: absolute; TOP: 312px" runat="server"
Width="50px">
<asp:LinkButton id="LinkButton1" runat="server" Width="20">LinkB</asp:LinkButton>
</asp:Panel>
</form>
</body>
查看你的源文件,LinkButton的ID应该是类似于 Panel1_LinkButton1 了。
对于查找容器中的控件,你可以写一方法遍历Form来查找需要的控件:
function FindLinkButton()
{
var form = document.all["Form1"]; for (var i = 0; i < form.element.length; i ++)
{
var control = form.element[i];
if (control.id.indexOf("你要找的控件ID") >- 1)
{
//control就是你要找的对象
alert(control.innerText);
}
}
}
根据实际情况相应替换。