1

ユーザー検証にASP.NetLoginControlを使用しています。

   <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>

ここで、JavaScriptを使用してパスワードボックス(ID:パスワード)にアクセスしたいと思います。私は試した

document.getElementById('Password');

しかし、これは機能しません。アドバイスありがとうございます、

アレクサンダー

4

1 に答える 1

1

ASP.NET(使用しているフレームワークのバージョンによって異なります)は、クライアントIDをマングルするのが好きです。私は過去にこのようにこれを回避しました:

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

ちょっと汚いようですが、うまくいきます!

編集:

LoginFormコントロールを使用しているようです。代わりにこれを試してください:

<script type="text/javascript">
var passwordId = '<%= ((TextBox)LoginForm.FindControl("Password")).ClientID %>';
</script>
于 2011-05-15T19:28:52.520 に答える