2014-10-13 43 views
-1

我想问一个关于与asp.net的JavaScript的问题。JavaScript的getElementsByTagName与asp.net

有一个清晰的按钮,我尝试将其更改为一个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> 

编辑:谢谢赵总,jfriend00为您的意见。 有来自html的按钮调用。

我想我可能会误解javascript。 我发现它可能是document.getElementById('xxxx')。getElementsByTagName('input'); 不作为document.getElementsByClassName('xxxx')。getElementsByTagName(“input”); 它有点混乱。

感谢

<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> 
+0

当你想在一个ASP文件上运行JS时,你必须看看当它到达浏览器时实际生成的HTML是什么,因为这是JS运行的。浏览器中的查看/源代码是您的朋友在这里查看实际的HTML。 – jfriend00

回答

0

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

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

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

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

希望这会有所帮助。

+0

嗨,这对您有帮助吗?如果是这样,请投票并接受它。干杯! – Sam

相关问题