Javascript 单击时清除输入搜索文本无效

Javascript 单击时清除输入搜索文本无效,javascript,css,html,Javascript,Css,Html,为什么这个基本脚本不起作用?其他时候我已经用过了,它可以用了,但现在不起作用了 <form name="form1"> <input type="search" placeholder="Search..." required="required" onfocus="if(this.value == 'Search...') {this.value=''}" onblur="if(this.value == ''){this.value ='Search...'}" /&g

为什么这个基本脚本不起作用?其他时候我已经用过了,它可以用了,但现在不起作用了

<form name="form1">
  <input type="search" placeholder="Search..." required="required" onfocus="if(this.value == 'Search...') {this.value=''}" onblur="if(this.value == ''){this.value ='Search...'}" /> 
  <button type="submit"><img src="search-icon-2.png" /></button>
</form>

当您应该更改
占位符
属性时,您正在检查并更改
属性:

 <input type="search" placeholder="Search..." required="required" onfocus="if(this.placeholder == 'Search...') {this.placeholder=''}" onblur="if(this.placeholder == ''){this.placeholder ='Search...'}" /> 

请参阅此答案以了解其他选项:

您可以删除onfocusonblur,因为我已经测试过,它在chrome浏览器上运行良好。它是用灰色写的(作为提示文本而不是普通文本)。

删除占位符标记,效果很好您正在更改输入值,但您有一个
占位符属性。使用脚本或使用
占位符
标记。两者都会以同样的方式工作,警告只是一个浏览器支持问题。谢谢,我有使用该值的习惯,所以我甚至注意到我做错了。这个答案与
占位符
属性已经在做的事情完全重复。为什么要删除占位符…它已经“内置”了根据定义,一旦用户开始键入或字段不再为空,它将不再显示…不,在某些浏览器中,当您关注文本框时,占位符文本将不会清除。这就是OP想要的。不,在某些浏览器中,
占位符不起作用:
input:focus::-webkit-input-placeholder { color:transparent; }
input:focus:-moz-placeholder { color:transparent; }