如何在单击任何其他控件时清除文本

How to clear the text when clicked on any other controls

本文关键字:控件 清除 文本 其他 任何 单击      更新时间:2023-09-26

下面的js脚本工作正常,但存在小问题,问题是:

我有一个多行文本框,当用户单击它并且它确实清除文本框时,问题是; 当用户单击保存按钮(asp.net 控制按钮)以保存文本框值时,我希望忽略代码隐藏和客户端。

我可以做的一件事是比较值并清除它是否是 matached 但是如果; 如果我有很多控件并且不想将字符串分散在代码中的每个位置......

寻找优化的解决方案。

<asp:TextBox runat="server" ID="txtNew" 
onclick="if (this.value == 'Enter here...') this.value = ''" TextMode="MultiLine"
Rows="7" Width="100%">Enter here...</asp:TextBox>

看起来您正在尝试在文本区域/文本框上执行水印功能?

为什么不查看 html5 placeholder 属性?在此处查看此示例 http://jsfiddle.net/k2PLG/1/

placeholder证明不是发布或验证的值。另外,由于您使用的是javascript,因此您可以确保包含一个html5 javascript文件,该文件使此属性在不支持它的旧浏览器中起作用。

你不需要硬编码你的Enter here...,改用defaultValue

<asp:TextBox runat="server" ID="txtNew" 
onclick="if (this.value == this.defaultValue) this.value = ''" TextMode="MultiLine"
Rows="7" Width="100%">Enter here...</asp:TextBox>

对于您问题的代码隐藏部分:

我建议使用RequiredFieldValidator(因为"在此处输入"表明这是强制性的)。然后,您可以将 InititalValue 属性用于默认文本,因此用户必须输入内容才能提交页面。