2010-11-26 110 views
2

我得到這個默認值爲「名字」的文本框..現在,當我點擊這個文本框內輸入名稱,這個值「名字」不斷顯示。我想要的是當我點擊它時,文本框就會清除。我需要在mt文本框標籤中設置哪些屬性?刪除文本框中的默認文本

[編輯] 確定可以使用Telerik進行的任何操作嗎?

+0

是asp控件還是html? – 2010-11-26 04:30:39

+0

更新了我的回答,並提供了有關Telerik – Josh 2010-11-26 05:20:31

回答

6

TextBox中沒有開箱即用的功能可以實現這一點,但ASP.Net Ajax Toolkit有一個Watermark Extender,它可以做你想做的一切。

我都用了,但現在個人使用jQuery Watermark Plugin

要麼將​​工作得很好,請根據您的需求。

根據Telerik文檔,您只需在他們的TextBox控件上設置EmptyMessage屬性。 Demo Page Here

+0

thnx ..的信息。我只是這麼做的。只是喜歡telerik?我知道我這樣做:D – Serenity 2010-11-26 20:08:28

1

可能this將幫助您

2

在後面的代碼,頁面加載,你可以添加以下代碼來實現這個

TextBox1.Attributes.Add("onClick", "javascript:if(this.value=='First Name'){this.value='';}"); 
2

您可以使用@Josh建議的方法。如果您不想使用Ajax Toolkit控件或JQuery,則可以使用Javascript自行編寫它。編寫一個函數,當文本框控件接收到文件時調用該函數。我thik該函數被稱爲onfocus或只是焦點在Javascript。

2

您好我只是寫了這個小功能,將實現你想要的結果

function clearInputBox(x,prefil){ 
    if(x.value == prefil){ 
     x.value = ''; 
    } 
} 

你輸入框看起來像這樣

<input type='text' value='First Name' onfocus="clearInputBox(this,'First Name')" /> 
0

以Shobans建議一步,您可以添加這樣的事情到你的網頁子類

protected override void OnInitComplete(EventArgs e) 
{ 
    string jsString = "javascript:if(this.value=='" + TextBox1.Text + "'){this.value='';}"; 
    TextBox1.Attributes.Add("onFocus", jsString); 
    base.OnInitComplete(e); 
} 

這將做什麼是,它將永遠co假設默認的字符串是這個控件在設計時包含的字符串(在.aspx文件中的初始字符串),所以每次更改.aspx時都不必在代碼隱藏中手動更改它。請記住,OnIinitComplete在應用任何視圖狀態或回發數據之前觸發,但在頁面上的控件已設置爲默認值之後觸發。

P.S.正如馬里科尼指出的那樣,使用onFocus vs onClick,因爲字段可以通過Tab鍵獲得焦點而無需點擊。