0

这应该很简单,但是我已经研究了一天多,无法弄清楚为什么这不起作用。我正在用 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 的新手,所以也许我缺少一些明显的东西,但我在任何地方都找不到。以下是一些我认为不相关但可能有帮助的其他信息:

  • 在 Visual Studio Professional 2012 中运行
  • 这是页面源代码的顶部:

    <html xmlns="http://www.w3.org/1999/xhtml">
    
  • 目标框架:.NET Framework 4.5。

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

4

1 回答 1

0

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

或者使用这个,适用于键盘标签和鼠标点击:

<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用于选择文本时(例如防止它)。onkeydownonselect

于 2015-03-10T16:10:31.677 回答