2010-07-19 265 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