2011-02-04 104 views
2

我有一个文本框中已经有一段文本,因此用户知道应该进入它的内容。我已经设置好了,所以点击它可以选择所有文本。我想知道的是,如何让它如此点击文本框将清除所有文本。同样,如果用户删除了他们写的所有内容,我如何才能让原文出现?自动替换HTML文本框中的文本

当我在Stack Overflow上问一个问题时,我想要做的一个完美的例子就是标题的文本框。

回答

3

通过下面的代码,您可以简单地将类“clear”添加到任何输入元素或textarea,它将清除初始值!

<!DOCTYPE html>  
<html> 
    <head> 
    <title>Sample</title> 
    <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.5.min.js" type="text/javascript"></script> 
    <script> 
    $(function() { 
     $('.clear').one('focus', function() { 
     this.value = ''; 
     }); 
    }); 
    </script> 
    </head> 
    <body> 
    <input type="text" value="Full Name" class="clear"/> <br /> 
    <input type="text" value="Email" class="clear"/> <br /> 
    <textarea value="About you..." class="clear"></textarea> 
    </body> 
    </html> 
+1

我是这个初学者,你介意解释一下吗?非常感谢! – Teknophilia 2011-02-04 22:31:27

0

您创建的textarea应该在标记中包含一个与其关联的标识。文本区域ID将如下所示:

<textarea id="someId"...> 

其中“someId”是您提供给它的任何名称。然后,当您使用以下代码

document.getElementById('someId').value = ''; 

它将用上面的函数指定的文本替换框中的文本。在这种情况下,它将以无文本替换它。只要确保它只做一次,否则,当你点击框外,然后再次点击它时,用户的输入仍然会被删除。

1

快速和肮脏的,但这项工作:

<input type="text" value="init..." onfocus="this.value=''; this.onfocus=null;" /> 

希望这有助于!