在搜索框的选项卡之间传递 HTML 输入值?

Pass HTML input value between tabs of a search box?

我有一个 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 但我对其中任何一个都不熟悉。任何建议都会很棒。 谢谢!

为什么不直接将查询变量附加到每个选项卡 link?

<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() 调用 - 如果您在 URL 中打印它,这一点很重要。