0

下面的 js 脚本工作正常,但有一个小问题,问题是:

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

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

寻找优化的解决方案。

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

2 回答 2

1

看起来你正试图在 textarea/textbox 上做一个水印功能?

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

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

于 2012-04-23T15:48:03.820 回答
0

你不需要硬编码你的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>

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

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

于 2012-04-23T15:21:52.013 回答