1

我在 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 语法错误。

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

4

3 回答 3

0

尝试这个

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

演示

于 2013-06-17T14:54:37.753 回答
0

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

ASP 不会像 ID 那样搞乱类的 DOM。

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

<script>$(".box1").focus(function(){ alert("testing"); });</script>
于 2013-09-05T10:12:35.580 回答
0

至于你的jquery不工作,它可能是你如何将焦点处理程序附加到文本框,如果你在标签中做它应该看起来像......

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

如果您不这样做,请确保您在 html 中的文本框之后插入脚本。

我确实认为您的第一个示例应该有效。在没有看到更多来源的情况下不确定到底发生了什么。

于 2013-06-17T14:50:21.257 回答