这应该是非常直接的,但我现在已经研究了一天以上,并且无法弄清楚为什么这不起作用。我在ASP.NET中创建了一个网页。我尝试做的是使用带有灰色占位符文本的文本框消失,并在单击或选择文本框时将字体颜色更改为黑色。这是我的代码:
<asp:TextBox ID="addEditTextBox1" runat="server" onselect="if(style.color=='#999999'){style.color='Black'; this.value='';}" onclick="if(style.color=='#999999'){style.color='Black';this.value='';}" ForeColor="#999999" Width="250px">Revision #</asp:TextBox>
我试过改变&#34; if&#34;声明触发
if(style.color.value=='#999999'){...}
和
if(ForeColor=='#999999'){...}
和
if(ForeColor.value=='#999999'){...}
和许多其他语法,但我找不到一个有效的语法。我知道onclick和onselect语句是有效的,因为如果我替换了&#34; ==&#34;使用&#34; =&#34;他们100%的时间旅行,但这完全否定了&#34; if&#34;声明。我是ASP.NET和JavaScript的新手,所以也许我有一些明显缺失的东西,但我无法在任何地方找到它。以下是我认为不相关但可能有用的其他一些信息:
这是页面顶部的源代码:
<html xmlns="http://www.w3.org/1999/xhtml">
目标框架:.NET Framework 4.5。
随时询问我是否遗漏了任何东西。谢谢!
答案 0 :(得分:0)
要么只是简单地使用HTML5 placeholder
属性,所有浏览器现在都支持它。
或者使用它,适用于键盘标签和鼠标点击:
<asp:TextBox ID="addEditTextBox1" runat="server" onfocus="this.onfocus = null; this.value = ''; this.style.color = 'black';" ForeColor="#999999" Width="250px">Revision #</asp:TextBox>
顺便说一下,onclick
实际上只是用于按钮,您可能需要onmousedown
和onkeydown
- onselect
用于选择文本(例如,防止它)。< / p>