使用asp.net javascript getElementsByTagName

时间:2014-10-13 02:41:14

标签: javascript asp.net

我想用asp.net的javascript问题。

有一个清晰的按钮,我尝试将其更改为javascript函数。

我想asp.net不能用作html,getElementsByTagName也不能识别asp:TextBox。

我如何在这段代码中使用getElementsByTagName(" asp:TextBox")?

<script>
    function Clear() {
        document.getElementById('answers').className = "animated fadeOut";

        //getElementbyId is working fine.  
        //document.getElementById('txtName').value = "";
        //document.getElementById('txtAge').value = "";
        //document.getElementById('txtShoeSize').value = "";

        //how can I make it work with for iterator???            
        var text = document.getElementsByClassName('textinput').getElementsByTagName("asp:TextBox");
        for (var i = 0; i < text.length; i++)
        {
            text[i].value = "";
        }
    }
</script>

    <div id="Wrapper">    
    <form id="form1" runat="server">

    <div class ="row">
        <span class ="label"><asp:Label ID="lblName" runat="server" Text="Name: "></asp:Label></span>
        <span class ="textinput"><asp:TextBox ID="txtName" runat="server"></asp:TextBox></span>
    </div>

    <div class ="row">
        <span class ="label"><asp:Label ID="lblAge" runat="server" Text="Age: "></asp:Label></span>
        <span class ="textinput"><asp:TextBox ID="txtAge" runat="server"></asp:TextBox></span>
    </div>

    <div class ="row">
        <span class ="label"><asp:Label ID="lblShoeSize" runat="server" Text="Shoe Size: "></asp:Label></span>
        <span class ="textinput"><asp:TextBox ID="txtShoeSize" runat="server"></asp:TextBox></span>
    </div>

编辑:感谢Sam,jfriend00为您提供建议。 有来自html的按钮调用。

我想我可能会误解javascript。 我发现它可能是document.getElementById(&#39; xxxx&#39;)。getElementsByTagName(&#39; input&#39;); 不作为document.getElementsByClassName(&#39; xxxx&#39;)。getElementsByTagName(&#34; input&#34;); 这有点令人困惑。

由于

    <div class ="row">
        <span class="label"><asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" width="70"/></span>
        <span class="textinput"><input type="button" value="Clear" onclick="Clear()"/></span>
    </div>

1 个答案:

答案 0 :(得分:0)

asp:TextBox会转换为html input元素。所以标签名称是input,而不是asp:TextBox

并且,如果需要,您可以通过此语法在客户端找到文本框。

var txtBox = document.getElementById('<%= txtName.ClientID %>');

另一种方法是在JavaScript中使用this对象。但是,我需要知道你将在哪里调用Clear()函数。

希望这有帮助。