如果 onclick 和 onselect 中的语句在 ASP.NET 中不起作用

If statements in onclick and onselect not working in ASP.NET

这应该是非常简单的,但我已经研究了一天多了,无法弄清楚为什么这不起作用。我正在 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>

我试过将 "if" 语句触发器更改为

if(style.color.value=='#999999'){...} 

if(ForeColor=='#999999'){...} 

if(ForeColor.value=='#999999'){...} 

和许多其他语法,但我找不到有效的语法。我确实知道 onclick 和 onselect 语句有效,因为如果我用“=”替换“==”,它们会在 100% 的时间内跳闸,但这完全否定了 "if" 语句的整个想法。我是 ASP.NET 和 JavaScript 的新手,所以也许我遗漏了一些明显的东西,但我在任何地方都找不到。以下是我认为不相关但可能有用的其他一些信息:

请随时询问我是否遗漏了什么。谢谢!

要么简单地使用HTML5 placeholder属性,现在所有的浏览器都支持它。

或者使用它,适用于键盘 Tab 键和鼠标点击:

<asp:TextBox ID="addEditTextBox1" runat="server" onfocus="this.onfocus = null; this.value = ''; this.style.color = 'black';" ForeColor="#999999" Width="250px">Revision #</asp:TextBox>

顺便说一句,onclick 实际上只是用于按钮,您可能是指 onmousedownonkeydown - onselect 用于选择文本(例如防止它) .