2011-05-15 2 views
1

을 통해 ASP.Net LoginControl 암호 필드에 액세스 : 자바 스크립트를 통해 (비밀번호 ID)나는 사용자 확인을위한 ASP.Net LoginControl를 사용하고 자바 스크립트

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

이 지금은 암호 상자에 액세스하고 싶습니다. 시도 :

document.getElementById('Password'); 

그러나 이것은 작동하지 않습니다. (이하면 현재 프레임 워크의 버전에 따라) 어떤 조언을 감사합니다,

알렉산더

답변

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

답장을 보내 주셔서 감사합니다. 불행히도 나는 "암호가 선언되지 않았다"고 말하는 컴파일러 오류가 발생합니다. 코드는 다음과 같습니다. inD1 = document.getElementById ('<% = Password.ClientID %>'); 무슨 일이 일어날 지 생각 나니? 감사합니다, 알렉산더 – alxppp

+0

ASP.Net 4.0에서 실행 중입니다. – alxppp

+0

수정 됨. 지금 시도해보십시오. – BradBrening

관련 문제