ASP.net表单获取JS错误

时间:2012-06-13 14:31:40

标签: javascript asp.net

我有一个ASP.NET表单(C#),但我单击此按钮应执行JS方法我得到错误“Microsoft JScript运行时错误:'document.getElementById(...)'为null或不是对象“

这很奇怪,因为它应该有效:

                <asp:LinkButton ID="btnDriverPopulate" runat="server" Text="" Height="55px" Width="172px" CssClass="btnMTO" 
                    OnClientClick="readLicense()" ToolTip="Check Driver" /> 

文本框代码

 <asp:TextBox ID="DriverLast" runat="server" Width="180px" Text='<%# Eval("Last") %>' ToolTip="Enter driver last name"></asp:TextBox>
                                    <cc:TextBoxValidator ID="valDriverLast" runat="server" AllowBlank="false" Display="dynamic" ControlToValidate="DriverLast" ValidationGroup="ValGrpDriver"
                                        CorrectFormat="Please enter in alphanumeric characters only." FieldName="Last Name" RegString="^[a-zA-Z0-9\s.,\-']+$" />

JS函数readLicense,应该将文本框的值设置为“hi”

document.getElementById("DriverLast").value = "hi";

2 个答案:

答案 0 :(得分:2)

在标记中是否有一个id为DriverLast的输入? ASP.NET可能会将此控件的ID更改为其容器ID,即: _ctl _DriverLast。因此,您可以使用ClientId属性。

尝试:

document.getElementById(<%=DriverLast.ClientId %>.value = "Hi";

答案 1 :(得分:1)

呈现的客户端ID不一定与服务器控件ID相同。您可以使用ClientIDMode属性更改此行为。

document.getElementById("<%= DriverLast.ClientID %>").value = "hi";