0

我正在将网站搜索转移到谷歌自定义搜索。

文本的旧输入如下所示:

<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 时,我无法清除焦点上的搜索框。我错过了一些超级简单的东西吗?

4

2 回答 2

1

您是否还包括 CSE JS?它可能会覆盖您的焦点和模糊处理程序。默认实现(见页面顶部)添加了谷歌品牌的水印。

您可以在没有 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>
于 2010-05-20T18:53:38.130 回答
-1

我不知道为什么会发生这种情况,但我建议您不要使用 JavaScript 来执行此操作,而让 HTML 使用该placeholder属性来完成它的工作:

<input type="text" placeholder="Search this website..." name="q" id="searchbox" />
于 2010-05-20T18:05:54.897 回答