2014-02-16 64 views
2

我把文本框控件在我的aspx頁面:asp.net c#文本框onclick默認文本爲空。不變。如果不是默認的文本

<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」。我點擊返回編輯的文本,它使「穆尼爾」所以現在我可以添加「喜歡asp.net」所以,現在文本是:「穆尼爾像asp.net」

任何幫助,請?

+0

使用AJAX工具包的 'TextBoxWatermarkExtender' – Kashif

+1

使用HTML5'placeholder'和依傍的JavaScript像[這裏](http://davidwalsh.name/html5-placeholder) – Wahtever

回答

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> 
+0

感謝bro..that是有幫助的.. – user2775241

+0

雖然這將很好地工作,我必須還引導您到[非侵入式JavaScript](http://www.w3.org/wiki/The_principles_of_unobtrusive_JavaScript#Unobtrusive_JavaScript_defined) – Wahtever

0
<asp:TextBoxWatermarkExtender ID="txtSearchWaterMark" 
    runat="server" TargetControlID="SearchCriteriaTextBox" 
    WatermarkText="Enter Search Criteria..." /> 

<asp:TextBox ID="SearchCriteriaTextBox" runat="server" /> 
0

我知道這個帖子是老了,但我使用的是由卡希夫用小編輯提供了答案。而不是asp標籤,我不得不使用ajax標籤。另外,另一方面請注意,如果您希望將其作爲可選字段,並且如果您要從文本框中提取文本,則在第一個答案中描述的on blur/on focus方法將在用戶未輸入時佔用佔位符任何東西。 TextBoxWatermark不會,所以如果文本框是一個可選字段,那就是你想使用的那個。

+0

你應該以這樣的方式,如果@Kashif答案被刪除格式化你的答案,你的答案將是獨立的(同時提及他的答案作爲參考,就像你一樣)。另外,使用段落... –