2014-03-02 79 views
0

爲什麼這個基本腳本不起作用?我已經使用了這個其他時間,它的工作,現在它不工作。點擊清除輸入搜索文本不起作用

<form name="form1"> 
    <input type="search" placeholder="Search..." required="required" onfocus="if(this.value == 'Search...') {this.value=''}" onblur="if(this.value == ''){this.value ='Search...'}" /> 
    <button type="submit"><img src="search-icon-2.png" /></button> 
</form> 
+0

刪除佔位符標記,它工作正常 – davethecoder

+0

您正在更改輸入的值,但您有一個「佔位符」屬性。請使用您的腳本,或者使用'placeholder'標籤。要麼以同樣的方式工作,警告只是瀏覽器支持問題。 –

回答

0

你檢查和更改時,你應該改變placeholder屬性value屬性:

<input type="search" placeholder="Search..." required="required" onfocus="if(this.placeholder == 'Search...') {this.placeholder=''}" onblur="if(this.placeholder == ''){this.placeholder ='Search...'}" /> 

編輯:

如果你想爲這個基於CSS的解決方案問題,您可以在CSS文件中添加以下規則:

input:focus::-webkit-input-placeholder { color:transparent; } 
input:focus:-moz-placeholder { color:transparent; } 

參考這個答案的其他選項:How do I auto-hide placeholder text upon focus using css or jquery?

+0

謝謝,我有習慣使用這個值,所以我甚至注意到我做錯了。 – andyB

+0

這個答案對於'placeholder'屬性已經做了什麼完全是多餘的。 –

+1

爲什麼要刪除佔位符......它已經「內置」了_定義_它一旦用戶開始輸入或字段不再顯示就不會再顯示...... – CBroe

0

您可以刪除的onfocus的onblur我測試,它的工作對chrome瀏覽器的罰款。它以灰色書寫(作爲提示文本而不是普通文本)。