我正在将网站搜索移至谷歌自定义搜索。
文本的旧输入如下所示:
<input type="text" value="Search this website..." name="s" id="searchbox" onfocus="if (this.value == 'Search this website...') {this.value = '';}" onblur="if (this.value == '') {this.value = 'Search this website...';}" />
现在我需要将attr'name'设为'q',如下所示:
<input type="text" value="Search this website..." name="q" id="searchbox" onfocus="if (this.value == 'Search this website...') {this.value = '';}" onblur="if (this.value == '') {this.value = 'Search this website...';}" />
奇怪的是,当我将名称交换为q时,我无法清除焦点上的搜索框。我错过了一些超级简单的东西吗?
答案 0 :(得分:1)
你还包括CSE JS吗?它可能会覆盖您的焦点并模糊处理程序。 default implementation(请参阅页面顶部)添加了Google品牌的水印。
您可以在没有JS的情况下实现CSE,在这种情况下,您的代码可以正常工作:
<form action="http://www.google.com/cse" id="cse-search-box">
<input name="cx" type="hidden" value="yoursearchid" />
<input name="ie" type="hidden" value="UTF-8" />
<input name="q" type="text" value="Search this website..." onfocus="if (this.value == 'Search this website...') {this.value = '';}" onblur="if (this.value == '') {this.value = 'Search this website...';}" />
<input name="sa" type="submit" value="Search" />
</form>
答案 1 :(得分:-1)
我不知道为什么会发生这种情况,但我建议您不要使用JavaScript来执行此操作,并让HTML使用placeholder
属性执行此任务:
<input type="text" placeholder="Search this website..." name="q" id="searchbox" />