Почему мой поисковый запрос возвращает неопределенное значение, а моя страница заполняется результатами термина? Использование бизнес-катализатора
Я пытаюсь, чтобы поисковый запрос отображался в URL. Что я делаю неправильно?
<form name="catsearchform74255" method="post" onsubmit="processSearch(this)" action="/Default.aspx?SiteSearchID=2248&ID=/search-results&keywords=">
<div class="input-field search-box">
<input id="CAT_Search" type="search" name="CAT_Search" placeholder="What are you looking for?" class="white" required="true">
<label class="label-icon" for="CAT_Search"><i class="material-icons">search</i></label>
<i class="material-icons">close</i>
</div>
<script type="text/javascript">
function processSearch(form) {
form.action = form.action + CAT_Search.value;
}
</script>
</form>
2 ответа
- + Изменить
method="post"
вmethod="get"
, - Обновите любой серверный код, ссылающийся на переменные post, чтобы ссылаться на переменные get. Например, в коде PHP измените
$_POST["CAT_Search"]
в$_GET["CAT_Search"]
,
Кроме того, правильный формат для required
HTML-атрибут это либо required=""
или же required="required
,
Код
Это можно сделать с помощью JS, вы не можете редактировать метод, так как Business Catalyst ожидает публикацию для этой формы.
Если вы измените форму на следующую:
<form name="catsearchform74255" id="searchForm" method="post" action="/Default.aspx?SiteSearchID=2248&ID=/search-results&keywords=">
<div class="search-box">
<input class="cat_textbox_small" type="text" name="CAT_Search" id="CAT_Search">
<input id="submitForm" onclick="submitFormScript()" type="button" class="cat_button" value="Search">
</div>
</form>
и затем добавьте следующий jQuery:
function submitFormScript() {
var searchAction = $("#searchForm").attr("action");
searchAction = searchAction + $("#CAT_Search").val();
$("#searchForm").attr("action", searchAction);
$("#searchForm").submit();
}
объяснение
Добавив идентификаторы в поля формы, а затем type="submit"
от кнопки ввода мы можем отредактировать действие формы, прежде чем отправить форму.
В JS мы получаем действие формы, добавляем значение поля поиска (ввод пользователя) и затем возвращаем его обратно в форму. action
приписывать. После этого у нас есть URL-адрес, который мы хотим отправить на следующую страницу, чтобы мы могли отправить форму.