Перейти к содержанию
Garik72

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

Рекомендуемые сообщения

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

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

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

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

сайт Nelaton.ru 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

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

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 я так понимаю ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.