2011-11-21 48 views
1

在此处,当您单击搜索文本框时,默认文本消失。我试图在网站上实现类似的功能。不幸的是,我无法让它在本地主机服务器上运行的FF或Chrome上运行。清除焦点上的文本框不工作 - ASP.NET

的页面加载方法被定义为

protected void Page_Load(object sender, EventArgs e) 
{ 
     MultiViewSearchOptions.ActiveViewIndex = 0; 
     txtKeywordSearch.Attributes.Add("onfocus", "this.value=string.Empty"); 

} 

和文本框元素被定义为

<asp:TextBox ID="txtKeywordSearch" runat="server" Width="175px">Click to search...</asp:TextBox> 

我试过几个变化,无论是this.value='',或改变onfocusonclick,但没有任何工程。它是由于在本地主机上运行,​​还是什么?

编辑

我通过插入OnClick="this.value=''"asp:TextBox声明中解决了这个问题。奇迹般有效!

+0

当我尝试它时适合我。你得到任何JavaScript错误? –

+0

@Tim,我没有收到任何Javascript错误。事实上,txtKeywordSearch在Page_Load方法中没有被访问。首先,请参阅我的编辑解决方案 – Jason

回答

0

您可以使用jQuery watermark plug-ins(例如this one)或Ajax Control Toolkit的watermark extender之一。

+0

,为什么当功能**应该已经实现时需要外部插件,其次,是什么阻止了它的工作?在ASP中工作时,我能期待更多这样的时刻吗? – Jason

+0

@Jason这是我的日常开发商业务;我希望某些东西能够像我认为的那样工作,但这个该死的东西其实的行为就像它的开发者设计的一样;-)在我看来,ASP.NET没什么特别的。 –