0

我正在尝试显示此部分

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

仅当满足此条件时:

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

3 回答 3

2

在这一行

style="visibility: hidden; display: none;"你有可见性和显示不让显示,但你只改变可见性,所以 div 仍然保持隐藏。

我建议只使用其中一个,或同时更改它们,将可见性更改为可见,并将显示更改为阻止。

于 2012-09-22T17:42:59.877 回答
1

您也忘记更改元素的display规则。你需要根据uniForm类来设置,或者默认设置为block.

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

作为记录,一个工作示例

于 2012-09-22T17:44:09.810 回答
0

选一个

visibility: hidden-- 不显示该项目,但在屏幕上保留其空间
display: none-- 使该项目完全消失。

你不需要两者。

要使该项目出现,请将visibility或设置display为空字符串'',它将恢复为默认值,该项目将显示在屏幕上。

于 2012-09-22T17:45:20.877 回答