簡體   English   中英

使用javascript通過ASP復選框使ASP面板可見

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM