У меня есть окно поиска 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, но я не знаком ни с одним из них. Будем признательны любому совету.
Спасибо!
Почему бы просто не добавить переменную запроса к каждой ссылке на вкладку?
<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.
Других решений пока нет …