如何仅在第一次单击时清除ASP.NET文本框

时间:2014-10-21 17:23:38

标签: asp.net

我在asp.net页面中有以下文本框。

<asp:TextBox ID="TtxtMessage"  Text="Write Here" ForeColor="Control" runat="server" Height="300px" TextMode="MultiLine" Width="274px"></asp:TextBox>

“文本”框中的默认文本为write here。如果用户点击我要清除文本,这只应在第一次点击时发生。对于后续点击,用户输入的内容应保持不变。如何使用Javascript或Code Behind做到这一点?

2 个答案:

答案 0 :(得分:2)

您可以像这样使用占位符属性

<asp:TextBox ID="TtxtMessage"  placeholder="Write Here" ForeColor="Control" runat="server" Height="300px" TextMode="MultiLine" Width="274px"></asp:TextBox>

答案 1 :(得分:2)

占位符对此很有帮助(见Add HTML5 placeholder text to a textbox .net)。

但是使用jquery(注意我并不确定asp.net是否仍然会破坏渲染的html中的控件ID)这样的事情可能会起作用:

<script>
$(document).ready(function() {

  var firstClickOccurred = false;

  $("#TtxtMessage").focus(function() {
    if(!firstClickOccurred) {
      $(this).val('');
      firstClickOccurred = true;
    }
  });

});
</script>