Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Проблема с "Поиск" при нажатии клавиши Enter


Recommended Posts

В общем не могу понять в какой момент и после какого дополнения/модуля сайта появилась ошибка:

поиск по сайту работает только если кликнуть мышкой по кнопке "искать". Если жать на клаве Enter то поиск не работает.

 Соответственно в вебвизоре видел, что это доставляет неудобство.

Не работает только на главное странице, а на странице сайт/search?filter_name= все как полагается.

Устанавливал модуль Search Suggestion (бесплатный), но дело не в нем, на локалке проверял без него, все равно ошибка повторяется.

Также на главной странице есть 3 ошибки:

"event.returnValue is deprecated. Please use the standard event.preventDefault() instead. "

Прошу помощи, подскажите где ковырять? 

Надіслати
Поділитися на інших сайтах


Скорей всего, на главной не подключился обработчик  события <enter>

 

На расстоянии и не подскажешь - пациента покажите.

  • +1 1
Надіслати
Поділитися на інших сайтах

Ну... у вас там комплекс...

 

Во первых Энтер не работает везде, в поле поиска

Потому как Событие привязывается к совсем другому месту...

common.js

 $('#header input[name=\'filter_name\']').bind('keydown', function(e) {
if (e.keyCode == 13) {
url = $('base').attr('href') + 'index.php?route=product/search';
var filter_name = $('input[name=\'filter_name\']').attr('value');
if (filter_name) {
url += '&filter_name=' + encodeURIComponent(filter_name);
}
location = url;
}
});

А поиска находится в #menu

 

зы ощущение такое что инди-код = копипаст...

  • +1 1
Надіслати
Поділитися на інших сайтах

Ну... у вас там комплекс...

 

Во первых Энтер не работает везде, в поле поиска

Потому как Событие привязывается к совсем другому месту...

common.js

 $('#header input[name=\'filter_name\']').bind('keydown', function(e) {
if (e.keyCode == 13) {
url = $('base').attr('href') + 'index.php?route=product/search';
var filter_name = $('input[name=\'filter_name\']').attr('value');
if (filter_name) {
url += '&filter_name=' + encodeURIComponent(filter_name);
}
location = url;
}
});

А поиска находится в #menu

 

зы ощущение такое что инди-код = копипаст...

"Базу" собирал по урокам в блогах, да, что то тупо  копировал.

chukcha, спасибо за помощь, попробую теперь сам переварить, ковырять common.js я так понимаю ?

Надіслати
Поділитися на інших сайтах


  • 2 months later...

"Базу" собирал по урокам в блогах, да, что то тупо  копировал.

chukcha, спасибо за помощь, попробую теперь сам переварить, ковырять common.js я так понимаю ?

Спасибо chukcha, еще раз. В общем справился с ошибкой только сейчас. До этого было не понятно, а тут случайно вернулся к проблеме)

 

Файл  common.js.

Опишу для таких как я:

 

 1)  сторочка первая: 

"$('#header input[name=\'filter_name\']').bind('keydown', function(e) {"

 

Необходимо было заменить "#header" на "#menu", т.к. строка поиска находится в Id menu.

 

2) В коде "if (e.keyCode == 13) {" цифра 13 обозначает клавишу Enter.

 

3) Строчка 3 и далее- само событие.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.