2010-08-12 68 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 
}); 
相关问题