在搜索框的标签之间传递HTML输入值?

时间:2015-08-13 19:03:39

标签: php html5 google-search-appliance

我有一个GSA搜索框,其中包含不同馆藏的标签(网站搜索,人员和图书馆)。我希望查询参数(q)在单击新选项卡时是持久的。

以下是HTML标签:

<div id="hd">
    <ul id="nav">
        <li id="tab1"><a href="./index-tab.php?site=master-MSU">Site Search</a></li>
        <li id="tab2"><a href="http://www.montana.edu/search/">People</a></li>
        <li id="tab3"><a href="./index-tab.php?site=libpub-library-website">Library</a></li>
    </ul>
</div>

以这种方式获取搜索参数(PHP):

    // Set default value for query
$q = isset($_GET['q']) ? trim(htmlentities(strip_tags($_GET['q']))) : null;

以下是HTML搜索框:

    <form id="searchBox" method="get" action="./index-tab.php">
    <fieldset>
        <label for="q">Search</label>
        <input type="text" maxlength="200" name="q" id="q" tabindex="1" value="<?php echo (!is_null($q) ? $q : $suggestedSearch); ?>" onclick="if (this.value == '<?php echo $suggestedSearch; ?>') { this.value = ''; }" onblur="if (this.value == '') { this.value = '<?php echo $suggestedSearch; ?>'; }" />
        <input type="hidden" maxlength="200" name="site" id="site" tabindex="1" value="<?php echo (!is_null($site) ? $site : $site); ?>" onclick="if (this.value == '<?php echo $site; ?>') { this.value = ''; }" onblur="if (this.value == '') { this.value = '<?php echo $site; ?>'; }" />
        <button type="submit" class="button">Search</button>
    </fieldset>
</form>

我怀疑我需要使用jquery和AJAX,但我不熟悉其中任何一个。任何建议都会很棒。 谢谢!

1 个答案:

答案 0 :(得分:2)

为什么不将查询变量附加到每个标签链接?

<div id="hd">
    <ul id="nav">
        <li id="tab1"><a href="./index-tab.php?site=master-MSU<? if ( ! is_null($q)) { echo '&q=' . urlencode($q); } ?>">Site Search</a></li>
        <!-- ... -->
    </ul>
</div>

请注意urlencode()来电 - 如果您要在网址上打印,这一点非常重要。