0

这是表单的代码:

<form onsubmit="return false;" role="search"  method="get" id="searchform" action="window.location.reload()" autocomplete="off">
    <div><label class="screen-reader-text" for="s">Search for:</label>
    <input type="text" value="" name="s" id="s" class="searchbar" >
    </div>
    </form>

由于我实际上使用的是 wordpress 中的“实时搜索”插件(搜索而不导航到另一个页面),并且它有一个错误,即删除并重新输入相同的文本不会再次搜索,我想知道如何获得如果用户刚刚在搜索框中按下回车键,页面是否会重新加载?

我的第二个问题是如何在加载页面时默认突出显示或选择搜索栏,就像谷歌一样?我试过这个:

<body onload"

$(function() {
    $("input[name='s']").focus();
});​

">

但它似乎没有做任何事情。任何对这些问题的任何帮助都将不胜感激!

4

1 回答 1

0

您没有转义onload函数中的双引号。您可以通过使用反斜杠转义引号来解决此问题,但解决此问题的更好方法是将此代码放在<script>标签中(而不是内联):

<script>
    $(function() {
        $("input[name='s']").focus();
    });​
</script>

使用这样的$()函数时,它充当 的快捷方式$(document).ready(),因此无需将其附加到 body 的onload事件。

澄清一下,解决它的另一种方法是使用转义的单引号,如下所示:

<body onload"
    $(function() {
        $('input[name=\'s\']').focus();
    });​">

但我强烈建议您将其放入<script>标签中。最好不要使用内联 JavaScript,而使用 jQuery 则没有必要。

于 2012-08-20T15:34:09.010 回答