2013-02-05 4 views
0

나는 asp 레이블의 텍스트를 읽는 div가 있고 그 값에 따라 div를 표시할지 여부를 결정합니다.레이블 텍스트를 올바르게 가져 왔습니까?

function setToLabel() { 
     text = document.getElementById('add_view'); 
     lbl = document.getElementById('lblAddVisible'); 
     var isHidden = text.innerText == 'true'; 
     text.style.display = isHidden ? 'block' : 'none'; 
    } 

    $(document).ready 
(
    function() 
    { 
     setToLabel(); 
    } 

); 

isHidden 변수를 명시 적으로 설정하면 문제가 발생합니다. 부울을 얻기 위해 라벨을 읽으라고 말하면 작동하지 않습니다.

감사

+0

'alert ("Inner text :"+ text.innerText)'. 너 뭐가 보이니? – tom

+1

그와 같은 그림으로 @ user2043533 당신은 트롤 중 하나가 아니라는 것을 어떻게 알 수 있습니까? :-P JK –

+0

디버거에서 보셨습니까? – Chuck

답변

0
function setToLabel() { 
    text = document.getElementById('add_view'); 
    lbl = document.getElementById('lblAddVisible'); 
    var isHidden = lbl .innerText; 
    text.style.display = isHidden ? 'block' : 'none'; 
} 

$(document).ready 
(
function() 
{ 
    setToLabel(); 
} 

); 

대신 txt.innerText, 당신은 라벨 컨트롤이 렌더링되는 ASP는 컨트롤에게 한 당신에게서 별개의 ID를 제공하기 때문에입니다

2

에서 읽을 필요로 lbl.innerText를 사용할 필요가 지정 했어. 스크립트가 귀하의 ASP 코드로 동일한 페이지에 렌더링되는 경우이

lbl = document.getElementById('<%= lblAddVisible.ClientID %>'); 

그렇지 않으면 당신이 CssClasslblAddVisible 컨트롤을 추가하고 클래스 이름으로 요소를 얻을해야합니다 추가 할 수 있습니다. 또한 innerHTML을 읽는 데 필요한 올바른 요소를 사용하고 있는지 확인하십시오.

1

aspx 페이지에 중첩 컨트롤이있는 경우 올바른 ID를 사용하지 않았을 수 있습니다. 이것을 시도하십시오 :

text = document.getElementById('<%=add_view.ClientID%>'); 
관련 문제