Передать значение ввода HTML между вкладками окна поиска?

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

0

Решение

Почему бы просто не добавить переменную запроса к каждой ссылке на вкладку?

<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.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]