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

时间:2015-03-10 16:01:24

标签: javascript asp.net if-statement onclick onselect

这应该是非常直接的,但我现在已经研究了一天以上,并且无法弄清楚为什么这不起作用。我在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的新手,所以也许我有一些明显缺失的东西,但我无法在任何地方找到它。以下是我认为不相关但可能有用的其他一些信息:

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

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

随时询问我是否遗漏了任何东西。谢谢!

1 个答案:

答案 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实际上只是用于按钮,您可能需要onmousedownonkeydown - onselect用于选择文本(例如,防止它)。< / p>