[英]Make Panel visible using javascript
我有一個帶有屬性的面板,可見設置為 False
<asp:Panel ID="pnlUpload" runat="server" Visible="False" />
我嘗試使用 javascript 作為下面的代碼使其可見
document.getElementById('<%= Panel1.ClientID %>').style.visibility = 'visible';
但它不起作用,伙計們有什么想法嗎?
設置 Visible="false" 使面板不在生成的 HTML 中呈現。 如果你想讓它在客戶端顯示/隱藏,你需要讓它 Visible="true" 並使用 CSS 類/在具有 "display" 屬性的樣式屬性中,值為 "block" 或 "none" 作為需要。
我用零 ASP 經驗回答這個問題,但有很多 JS/HTML/CSS 經驗,所以如果我完全錯了,請耐心等待......
我會說Visible="False"
標簽不等同於 CSS style="visibility:hidden;"
因此,該 JS 調用將不起作用。
為了顯示 asp 控件,您需要使用該屬性
ClientVisible
示例:
<asp:Panel ID="someId" runat="server" ClientInstanceName="someIdClient" ClientVisible="False" />
如上一篇文章所述,屬性
Visible="False"
導致不呈現控件。
為了通過 Javascript 訪問隱藏控件,您只需鍵入:
function myFunction(){ someIdClient.SetVisible(true)
我試過 .style.visibility = 'visible' 和 visible="true" 和 .style.display = 'block' 和 .style.display = 'inline' 所有這些都不起作用。 但是如果你寫 .style.display = 'none' 就行了。 任何人都知道解決方案請告訴我謝謝
我的 ASP 經驗幾乎為零,例如 Flash84x :-)
似乎在asp中,當您設置“Visibile=false”時,不會創建面板。
如果您想使用自定義 JavaScript 而不是 .NET 工具來顯示,隱藏面板,您應該直接在標簽中應用樣式,如下所示:
<asp:Panel id="pnlUpload" runat="server"
Style="visibility:hidden;background-color:#CC9999;
顏色:#FFFFFF; 寬度:200; 高度:200; 邊框:實心1; 填充:10"> .....
然后它會在 html 中渲染這樣的東西:
<div id="pnlUpload" class="text" style="visibility:hidden;
背景色:#CC9999; 顏色:#FFFFFF; 寬度:200; 高度:200; 邊框:實心1; 填充:10"> .....
</div>
當然,相應的 javascript 將是:
<script language="JavaScript">
document.getElementById('pnlUpload').style.visibility = 'visible';
</script>
請將您的面板放在 div 中並使用以下方式更改樣式
<div>
<asp:Panel ID="pnlUpload" runat="server" Visible="False" />
</div>
javascript
function visible()
{
document.getElementById('<%=pnlUpload.ClientID %>').style.display = 'block'
}
不要使用可見性使用這個..
document.getElementById("<%=myPanel.ClientID%>").style.display = "none"; //not visible document.getElementById("<%=myPanel.ClientID%>").style.display = "inline"; //visible
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.