通过JavaScript访问ASP.Net登录控制密码字段

通过JavaScript访问ASP.Net登录控制密码字段,javascript,asp.net,passwords,login-control,Javascript,Asp.net,Passwords,Login Control,我正在使用ASP.Net登录控件进行用户验证: <asp:Login ID="Login1" runat="server"> <LayoutTemplate> <asp:TextBox id="UserName" runat="server" class="inD"></asp:TextBox> <asp:TextBoxWatermarkExtender ID="UserN

我正在使用ASP.Net登录控件进行用户验证:

   <asp:Login ID="Login1" runat="server">
        <LayoutTemplate>
            <asp:TextBox id="UserName" runat="server" class="inD"></asp:TextBox>
            <asp:TextBoxWatermarkExtender ID="UserNameWatermarkExtender" runat="server" TargetControlID="UserName" WatermarkText="Username" WatermarkCssClass="weD inD"/>
            <asp:TextBox id="Password" runat="server" class="inD" textMode="Password" onfocus="passwordFocus()" onblur="passwordBlur()"></asp:TextBox>
            <asp:TextBoxWatermarkExtender ID="PasswordWatermarkExtender" runat="server" TargetControlID="Password" WatermarkText="Password" WatermarkCssClass="weD inD"/>
            <asp:button id="Login" CommandName="Login" runat="server" Text="Login" class="btL" BorderStyle="None"></asp:button>
            <br />
            <asp:Checkbox id="RememberMe" runat="server" Text="Remember me"></asp:Checkbox>
            <asp:requiredfieldvalidator id="UserNameRequired" runat="server" ControlToValidate="UserName" Text="*"></asp:requiredfieldvalidator>
            <asp:requiredfieldvalidator id="PasswordRequired" runat="server" ControlToValidate="Password" Text="*"></asp:requiredfieldvalidator>
            <asp:Literal id="FailureText" runat="server"></asp:Literal>
        </LayoutTemplate>
    </asp:Login>
但这不起作用。 谢谢你的建议

Alexander

ASP.NET(取决于您使用的框架版本)喜欢破坏客户端ID。我过去曾这样处理过这个问题:

<script type="text/javascript">
var passwordId = '<%= Password.ClientID %>';
</script>

var passwordId='';
看起来有点脏,但很管用

编辑:

我看到您在LoginForm控件中。请尝试以下方法:

<script type="text/javascript">
var passwordId = '<%= ((TextBox)LoginForm.FindControl("Password")).ClientID %>';
</script>

var passwordId='';
ASP.NET(取决于您使用的框架版本)喜欢损坏客户端ID。我过去曾这样处理过这个问题:

<script type="text/javascript">
var passwordId = '<%= Password.ClientID %>';
</script>

var passwordId='';
看起来有点脏,但很管用

编辑:

我看到您在LoginForm控件中。请尝试以下方法:

<script type="text/javascript">
var passwordId = '<%= ((TextBox)LoginForm.FindControl("Password")).ClientID %>';
</script>

var passwordId='';

谢谢您的回复。不幸的是,我得到了一个编译器错误,说“密码未声明”。代码如下所示:inD1=document.getElementById(“”);你知道哪里出了问题吗?谢谢你,亚历山大谢谢你的回复。不幸的是,我得到了一个编译器错误,说“密码未声明”。代码如下所示:inD1=document.getElementById(“”);你知道哪里出了问题吗?谢谢你,亚历山大