2013-02-05 56 views
0

我有一些JS讀取一個asp標籤的文本,並基於它設置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,你需要使用lbl.innerText爲你從標籤

2

這是因爲當控件呈現ASP給出了控制從一個你一個獨特的ID閱讀已經指定。如果腳本在同一頁上呈現爲你的ASP代碼,您可以添加此

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

,否則你就必須添加CssClasslblAddVisible控制並獲得通過類名的元素。另外,請確保您使用的是正確的元素,您需要從中讀取innerHTML。

1

如果您的aspx頁面中有嵌套控件,可能是因爲您沒有使用正確的ID。試試這個:

text = document.getElementById('<%=add_view.ClientID%>');