2012-09-22 41 views
0

我想只有當這一條件得到滿足,以顯示這部分嘗試使用「style.visibility」

<tr> 
    <div id="contact" class="uniForm" style="visibility: hidden; display: none;">  
    <fieldset class="blockLabels"> 
     <legend style="font-size: 10pt;">Contacts</legend> 
     <div class="ctrlHolder"> 
     <%= this.strContactInfo%> 
     </div> 
    </fieldset> 
    </div> 
</tr> 

設置一個div在代碼中可見:

if (iStatus == 2) 
{ 
    lblAccessError2.Text = "Failure. "; 
    Page.ClientScript.RegisterStartupScript(this.GetType(), "clientscript1", "document.getElementById('contact').style.visibility = 'visible';", true);     
    ModalPopupExtender1.Show();   
} 
+0

而問題是? – Alexander

+0

它保持隱藏狀態,即使符合條件也不會顯示... – Aravindh

+0

並且您忘記了'display:block' – Aristos

回答

1

您忘了更改元素的display規則。您需要根據uniForm類設置它,或者默認設置爲block

document.getElementById('contact').style.display = 'block'; 

備案a working example

+0

謝謝你,我有多愚蠢 – Aravindh

2

在這一行

style="visibility: hidden; display: none;"您既具有可見性又具有顯示功能,但只更改了可見性,因此div仍處於隱藏狀態。

我建議只使用其中的一個,或者將它們兩個都改變,可見性可見,以及要屏蔽的顯示。

+0

謝謝你Aristos – Aravindh

0

選擇一個

visibility: hidden - 不顯示的項目,但保留在屏幕上
display: none其空間 - 使項目完全消失。

你不需要兩者。

要使項目出現,請將visibilitydisplay設置爲空字符串''並且它將恢復爲默認值,並且該項目將顯示在屏幕上。