我在我的aspx页面中放了一个文本框控件:
<asp:TextBox ID="SearchCriteriaTextBox" runat="server" Text="Enter Search Criteria" Width="150px" ForeColor="GrayText" OnClick="this.value = ''; this.style.color = 'black'" OnBlur="javascript:changeText(this.id)" />
因此单击时文本框变空。保留我输入的内容。但是,如果我单击文本框外部,然后单击返回文本框以编辑我键入的文本,它将无法正常工作。它使整个文本框为空。
基本上我正在努力获得类似的功能,就像这个论坛中的搜索文本框一样。默认情况下,文本为:“搜索ASP.NET”。我点击输入内容,文本框变空。我输入“Monir”并在框外单击。它保留文本“Monir”。我点击返回编辑文本,它保留“Monir”所以现在我可以添加“喜欢asp.net”所以文本现在是:“Monir喜欢asp.net”
请帮忙吗?
答案 0 :(得分:3)
试试这个:
<asp:TextBox runat="server" ID="txt" onblur="if(this.value=='')this.value=this.defaultValue;" value="Enter Search Criteria" onfocus="if(this.value==this.defaultValue)this.value='';"></asp:Textbox>
答案 1 :(得分:0)
<asp:TextBoxWatermarkExtender ID="txtSearchWaterMark"
runat="server" TargetControlID="SearchCriteriaTextBox"
WatermarkText="Enter Search Criteria..." />
<asp:TextBox ID="SearchCriteriaTextBox" runat="server" />
答案 2 :(得分:0)
我知道这篇文章很老了,但是我使用了Kashif提供的一个小编辑的答案。而不是asp标签,我不得不使用ajax标签。另外,另一方面,如果您希望将其作为可选字段,并且如果要从文本框中提取文本,则第一个答案中描述的on blur / on focus方法将在用户未输入时拉出占位符任何东西。但TextBoxWatermark不是,因此如果文本框是可选字段,那么就是您要使用的那个。