我有以下html:
<input type="text" id="searchbox" name="q" value="Search Pictures..." onclick=" if(this.value=='Search Pictures...'){this.value='';}" />
当我第一次打开页面时它会起作用,但是当我输入内容并进行搜索,然后我回到页面或刷新时,我发现过去的关键字仍然是粘性的而不是“搜索图片...”
任何可用的标签都可以避免此问题吗?
由于
答案 0 :(得分:1)
如果您已将标签上的值设置为“搜索图片...”,那么无论何时加载页面时都没有预先保留更新的值,您将获得“搜索图片...”作为价值。
要保留输入数据,您可以使用多种方法,具体取决于您正在开发的环境。
答案 1 :(得分:1)
顺便说一下......不要写:
this.value === 'blah blah, copy of text from value attribute'
只需使用defaultValue属性:
this.value == this.defaultValue
它更简单,更清洁。
答案 2 :(得分:0)
我想这是在Firefox上。
您可以添加属性autocomplete =“off”
答案 3 :(得分:0)
HTTP是无状态的,并且不会在请求之间保留表单值。
每次加载页面时,“硬编码”值“搜索图片...”将替换上一个请求中输入元素中的任何内容。您需要通过从表单集合中检索已发布的值并将其重新写入来持久保存该值。如何执行此操作取决于您正在使用的平台 - 可能是您正在使用某种服务器端框架或语言(例如PHP)还是ASP.NET)?