2010-08-12 74 views

回答

4

下面是一個搜索框的示例,其中初始值爲'此處輸入搜索字符串'。當控件獲得焦點並開始輸入時,一些javascript清除了框:

<input name="txtSearch" id="txtSearch" onfocus="if (this.value=='enter search string here...') this.value = ''" value="enter search string here..." type="text"> 
+1

這個解決方案的問題是你必須寫三次完全相同的字符串。第三次是服務器端檢查輸入是否沒有改變。 – 2ndkauboy 2010-08-12 10:50:12

+0

爲什麼不只是:onfocus =「value =''」 – Yosef 2010-08-12 10:54:13

+0

交流事實:SO正在使用您的解決方案。但他們不必過濾「搜索」,因爲有人可能想要搜索「搜索」:)但大多數情況下,這不是最好的解決方案! – 2ndkauboy 2010-08-12 10:55:18

0

不要把默認值。只需刪除value屬性。

從您的問題中不清楚您的目標是什麼 - 然而,通過使用默認值,每次加載頁面時都會出現此值。

您的頁面沒有form元素,這是表單提交所必需的。

+0

我可以使用JavaScript解決嗎? – Yosef 2010-08-12 10:37:19

7

當HTML5將許多瀏覽器的支持,這是很容易:

<input type="text" placeholder="default-value" /> 

直到比我會用一個背景圖片,讓它消失它用戶集中輸入,否則,用戶可提交和你有默認值過濾出來的服務器端:

<input type="text" name="fieldname" id="fieldname" style="background-image: url("default-value.png"); background-repeat: no-repeat;" /> 

和JavaScript將其移走點擊(使用原型框架):

$('fieldname').observe('click', function() { 
// if already cleared, do nothing 
if(this._cleared) return; 
this.setStyle({backgroundImage: ''}); 
this._cleared = true 
}); 
相關問題