Функция searchfiltersajax
принимает один параметр с именем search_word
.Затем первый оператор if проверяет переменную события.Эта переменная нигде не объявлена в вашем коде, поэтому код внутри оператора if никогда не будет выполнен.
Чтобы проверить это, я бы рекомендовал добавить debugger;
в качестве первого оператора внутри функции searchfiltersajax
.Затем откройте консоль отладки в браузере и перезагрузите страницу.Не забудьте удалить оператор debugger;
, как только вы закончите.Если вы знаете, как устанавливать точки останова в отладчике javascript, вам вообще не следует использовать операторы debugger;
.
Насколько я понимаю, вы пытаетесь предотвратить отправку формы на сервер, но отправляете ajaxпозвони вместо.В StackOverflow есть несколько ответов на эту тему, например Запретить пользователям отправку формы, нажав Enter .Вы можете использовать подобный код для достижения своих целей (по ссылке):
$(document).on("keypress", "form", function(event) {
return event.keyCode != 13;
});
И последнее, но не менее важное: я бы предложил не включать необработанный HTML, отправленный любым сервером (даже вашим собственным) вВаша страница:
container.innerHTML = response;
Вместо этого попробуйте отправить объект JSON, содержащий информацию, которую вы хотите представить, и преобразовать этот объект в элементы HTML с помощью JavaScript.Таким образом, у вас будет более чистый интерфейс для обмена данными, и вам придется изменить часть кода, чтобы изменить стиль или другие аспекты представления.