【问题标题】:asp.net Panel get elements with Javascriptasp.net Panel 使用 Javascript 获取元素
【发布时间】:2017-11-17 09:35:22
【问题描述】:

我正在尝试使用 js 获取 asp 面板的所有元素。 我试过了

function t1()
{

    var v = document.getElementById('<%=pnlFiltri.ClientID %>').elements;
    alert(v.length)
}

 <asp:Panel ID="pnlFiltri" runat="server" DefaultButton="Upload">
    <asp:TextBox runat="server" type="text" id="tb_Descr" name="Editbox1" value=""/>
 </asp:Panel> 

 <asp:Button ID="Upload" runat="server" Text="Upload" OnClientClick="t1();return false;" OnClick="b1_Click"/>             

但不工作...

【问题讨论】:

  • document.getElementById(...).elements 将返回undefined,因此您将在控制台中收到错误消息。

标签: javascript html asp.net


【解决方案1】:

试试这个:

 function t1()
    {

        var v = document.getElementById('<%=pnlFiltri.ClientID %>');
        var array = v.getElementById("<%=tb_Descr.ClientID %>");
        for (var n = 0; n < array.length; ++n) {
         alert("textbox");
       }
    }

<asp:Panel ID="pnlFiltri" runat="server" DefaultButton="Upload">
    <asp:TextBox runat="server" type="text" id="tb_Descr" name="Editbox1" value=""/>
 </asp:Panel> 

【讨论】:

    【解决方案2】:

    你必须得到面板的孩子数。请看以下代码

    function t1() {
    
            var v = document.getElementById('<%=pnlFiltri.ClientID %>');
            alert(v.children.length)
        }
     <asp:Panel ID="pnlFiltri" runat="server" DefaultButton="Upload">
                <asp:TextBox runat="server" type="text" ID="tb_Descr" name="Editbox1" value="" />
                <asp:TextBox runat="server" type="text" ID="TextBox1" name="Editbox1" value="" />
            </asp:Panel>
    
            <asp:Button ID="Upload" runat="server" Text="Upload" OnClientClick="t1();return false;" />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-08
      • 2016-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多