2012-02-06 6 views
1

사용자가 텍스트 상자에 입력 할 때 숨기려고하는 ASP.Net 4.0 웹 사이트에 레이블이 있습니다.JavaScript에서 KeyPress의 ASP.Net 레이블을 숨기기

텍스트 상자의 Keypressevent에서 실행중인 Javascript 기능이 있습니다.

function hideLabel(sender, e) { 
    document.getElementById('<%=lblResult.ClientID%>').style.display = 'none'; 
} 

다음과 같이 내 텍스트 상자와 라벨은 다음과 같습니다 :

그래서, 내 자바 스크립트 기능입니다

<tr><td> 
    <asp:Label ID="lblResult" runat="server" Visible="True"></asp:Label> 
</td></td> 
<tr><td> 
    <asp:TextBox ID="txtEmailAddress" runat="server" Width="200px" 
     CssClass="customtxt" onkeypress="hideLabel(this, event)"></asp:TextBox> 
</td></td> 

함수 화재 그러나 나는 다음과 같은 오류가 나타날 수 있습니다 마이크로 소프트의 JScript 런타임 오류 : 개체 필수

나는 또한 내 함수 내에서 아래 코드 줄을 시도했지만이 역시 작동하지 않습니다.

document.getElementById('lblResult').style.visibility = 'hidden'; 

아무도 왜 이것이 IE 8에서 실패하는지 알 수 없습니다. Chrome에서 올바르게 작동합니다.

+0

몇 가지 사항 : 1) 사용자가 정의한대로 레이블이 실제로 ' 텍스트'으로 렌더링되고 있습니다. 의도하지 않았을 수 있습니다. 대신 '

+0

두 번째 JS 시도가 작동하지 않습니다. 컨트롤에 ClientID 속성을 사용하기에 적합한 ID를 입력하지 않았고 존재하지 않는 ASP.NET 속성이 표시됩니다 DOM에서. –

답변

1

나는 당신이 당신의 경우에 작동하도록 매개 변수를 전달할 필요가 없습니다, 생각 : 매개 변수없이

function hideLabel() { 
    document.getElementById("<%=lblResult.ClientID%>").style.display = "none"; 
} 

<asp:TextBox ID="txtEmailAddress" runat="server" Width="200px" CssClass="customtxt" onkeypress="hideLabel()"></asp:TextBox> 
+0

답장을 보내 주셔서 감사합니다.하지만 여전히 오류 메시지가 나타납니다. – user1131661

1

단지 방법이 작동합니다.

<script language="javascript" type="text/javascript"> 
    function hideIt() { 
     document.getElementById('<%=myLabel.ClientID%>').style.display = 'none'; 
    } 
</script> 

업데이트 :.

HTML 내 라벨

SCRIPT 함수 hideIt() { document.getElementById를 ('<퍼센트 = myLabel.ClientID %>') style.display를 = '없음'; }

내가 작동하는지 확인할 수 있습니다 .... 어떤 브라우저를 사용하고 계시므로 테스트 해 볼 수 있습니까?

+0

고마워,하지만 그게 작동하지 않습니다 – user1131661

+0

IE 및 FF seeems 잘 작동합니다. 당신은 당신의 코드를 게시 할 수 있습니까 –

+0

저는 IE8을 사용하고 있습니다. 그러나 저는 단지 그것을 Chrome에서 시도해 보았습니다. IE에 몇 가지 설정이 있습니까? 다른 키 누르기 이벤트가 다른 형태로 실행됩니다. – user1131661

1

찾고있는 라벨을 찾지 못해 거의 확실하게 실패하고 있습니다. 생성 된 소스를 살펴보고 레이블이 페이지에 있고 자바 스크립트에서 생성 된 출력에있는 ID를 가지고 있는지 확인하십시오.