[英]Make asp panel visible through an asp checkbox using javascript
應該使用Java腳本功能通過asp復選框使asp面板可見
我的公司希望我更改特定頁面上的編碼,要求是當您單擊復選框時,面板應該是可見的,但不應回發。 因此,他們要求我使用JavaScript並實現此要求。
我嘗試了這段代碼,正如我看到的那樣,JavaScript函數找不到ID,因為將動態創建面板。 所以有人可以幫我做到這一點嗎?
重要提示:它應該停止回發!!!
我的代碼是:
<script type="text/javascript">
function fun1()
{
if (document.getElementById("CheckBox1").checked == true)
{
document.getElementById("Panel3").visible = true;
}
}
</script>
<form id="form1" runat="server">
<asp:Panel ID="Panel1" runat="server" Height="89px">
<asp:CheckBox ID="CheckBox1" runat="server" OnClick="fun1()" />
</asp:Panel>
<br />
<asp:Panel ID="Panel3" runat="server" Height="91px" Visible="False">
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<br />
<br />
<asp:Button ID="Button2" runat="server" Text="Button" />
</asp:Panel>
<br />
</form>
它應該可以幫助您...
var panelControls = document.getElementById("<%=mypanel.ClientID%>").getElementsByTagName("input");
for (var i = 0; i < panelControls .length; i++)
panelControls [i].disabled = true;
Panel是服務器端控件,當將其呈現為DIV HTML元素的瀏覽器呈現時,應使用
function toogleDisplay(sender)
{
if(sender.checked)
document.getElementById('<%= Panel3.ClientID %>').style.display = 'block';
else
document.getElementById('<%= Panel3.ClientID %>').style.display = 'none';
}
對於asp復選框控件,您應該添加以下代碼
protected void Page_Load(object sender, EventArgs e)
{
checkbox1.Attributes.Add("onClick", "toogleDisplay(this);");
Panel3.Style.Add(HtmlTextWriterStyle.Display, "none");
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.