使用javascript无法正常清除asp.net文本框

时间:2013-06-17 14:34:55

标签: javascript jquery asp.net textbox

我在ASP.net中有两个文本框。当点击一个时,我希望另一个清除。

以下是我的文本框代码:

<asp:TextBox runat="server" ID="box1" onfocus="clearBox2()"></asp:TextBox>
<asp:Textbox runat="server" ID="box2"></asp:Textbox>

我的javascript在同一页面上:

function clearBox2() {
     document.getElementById("<%=box2.ClientID%>").value = '';
 }

我不知道为什么但这不起作用。我已经设法通过Chrome开发人员工具验证是否正在调用value='';行。我也尝试过这样通过jQuery删除它:

 $("#<%=box1.ClientID%>").focus(function(){
     alert("testing");
});

但警报没有被调用。 Chrome开发者工具未显示任何javascript语法错误。

有人会碰巧知道发生了什么吗?

3 个答案:

答案 0 :(得分:0)

就你的jquery不工作而言,可能就是你如何将焦点处理程序附加到文本框中,如果你在标签中这样做它应该是......

<script type="text/javascript">
$(document).ready(function(){
   $("#<%=box1.ClientID%>").focus(function(){
     alert("testing");
   });      
});
</script>

如果你没有这样做,那么请确保你在html中的文本框之后插入脚本。

我认为你的第一个例子应该有效。如果没有看到更多来源,不确定到底发生了什么。

答案 1 :(得分:0)

试试这个

function clearBox2() {
 $("#<%=box2.ClientID%>").val('');
}

DEMO

答案 2 :(得分:0)

尝试给文本框一个类,以确保并将其提供给函数...

ASP不会像使用ID一样搞乱类的DOM。

<asp:TextBox runat="server" CssClass="box1" ID="box1" onfocus="clearBox2()"></asp:TextBox> 

<script>$(".box1").focus(function(){ alert("testing"); });</script>