2015-08-13 213 views
0

我有一个标签(网站搜索,人员和图书馆)不同集合的GSA搜索框。我希望查询参数(q)在单击新选项卡时保持不变。在搜索框的标签之间传递HTML输入值?

这里是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,但我对任何一个都不熟悉。任何建议都会很棒。 谢谢!

回答

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

+1

这么简单,就像一个冠军! – mutanthumb