2010-07-19 185 views
0

如何讓文本消失,就像一些字段在一次開始放入文本時一起工作的方式?我嘗試了HTML中不同的'on'動作,但那並沒有真正做到我想要的。從輸入字段中刪除文本

謝謝。

回答

2

你可以用onfocus/onblur事件來做到這一點。例如:

<input type="text" value="search" onfocus="if(this.value=='search')this.value=''"/> 

如果您單擊此輸入字段,默認文本「搜索」將消失。 onfocus事件處理程序檢查此輸入字段是否具有「搜索」的值,如果是,則清除它,而在其他情況下(用戶已輸入內容)則保持原樣。

+0

謝謝,這就是我一直在尋找:) – Nisto 2010-07-19 15:25:59

0

使用的onfocus()在JavaScript

<input type="text" onfocus="if(this.value == 'value') { this.value = ''; }" value="value" /> 
2

想必你的意思 「的標籤,其出現在裏面輸入」。

如果你想以一種理智的,可訪問的,語義的方式來做到這一點 - 使用<label>,如果JS可用,然後將其放置在元素下,並onfocus/onblur根據元素的值改變類。

我打開一個簡單的例子http://dorward.me.uk/tmp/label-work/example.html使用jQuery(所有不是jQuery庫的一部分的源代碼都嵌入在該文檔的HTML中以方便閱讀)。

1

jQuery將使這個簡單的工作; http://www.jsfiddle.net/TshDN/

+0

那真的是沒有任何容易然後前面給出的非jQuery的例子。 – Quentin 2010-07-19 15:17:38

+0

你不需要一個100kB的庫來做*一行* – Andris 2010-07-19 15:18:02

+0

這裏的目標是在jQuery中演示這個,因爲stackoverflow使用lib,他希望像stackoverflow一樣。但是,是的,你們都是對的 - 100KB不需要單線,而且聚焦會更好。 – gnome 2010-07-19 15:41:29