我的 document.getElementById 函数在我知道存在的值上返回 null。具体来说,我尝试:
//in an external .js file
var UserName = document.getElementById('<%=_username.ClientID%>');
并使用一些条件对其进行测试,由于元素 id 值为 null,因此这些条件永远不会发生。我在这里在用户控制文件中定义 _username:
...
<fieldset class="login">
<legend class="login">Login</legend>
<label for="<%=_username.ClientID%>">
User Name:</label>
<asp:TextBox ID="_username" runat="server" CssClass="login" />
<label for="<%=_password.ClientID%>">
Password:</label>
<asp:TextBox ID="_password" runat="server" CssClass="login" TextMode="Password" />
<br />
<span class="response">
<asp:Literal ID="_response" runat="server" /></span>
<asp:Button ID="_login" runat="server" Text="Login"/>
</fieldset>
我通过测试一个不需要使用 getElementById() 的更简单的函数来验证我的页面正在监听 javascript 文件。