2010-01-19 55 views
0

我有以下的html:即使我刷新,文本框的值仍然存在?

<input type="text" id="searchbox" name="q" value="Search Pictures..." onclick=" if(this.value=='Search Pictures...'){this.value='';}" /> 

它的作品,当我打开网页的第一次,但是当我输入一些东西和搜索,然后我回来的页面,或刷新,我发现过去关键字仍然粘,而不是“搜索图片...”

任何可用的标记可以避免此问题吗?

感谢

回答

1

如果您已设置的标签值“搜索图片......”你有,那么只要在页面加载,而不必以某种方式持续更新的值事先,你会得到“搜索图片...“作为值。

要坚持输入数据,您可以使用多种方法,具体取决于您正在开发的环境。

0

我想这是在Firefox上。

您可以添加属性自动完成= “关闭”

1

顺便说...不写:

this.value === 'blah blah, copy of text from value attribute' 

只需简单地使用默认值属性:

this.value == this.defaultValue 

这是更简单,更清洁。

0

HTTP是无状态的,不会在请求之间持续表单值。

每次您加载页面时,'硬编码'VALUE'搜索图片...'都会替换前一个请求中输入元素中的任何内容。您需要通过从表单集合中检索已发布的值并重新写入,来坚持该值。如何实现这一点取决于您正在使用的平台 - 可能您正在使用某种服务器端框架或语言(例如PHP或ASP.NET)?

+0

虽然这是真的,但某些*浏览器*在刷新或历史导航之间存在表单数据。这听起来像@axel正在谈论的。 – 2010-01-19 19:53:50

相关问题