нужна консультация что я сделал неправильно?

Тема в разделе "Обо всём", создана пользователем lavlan, 24 мар 2015.

  1. lavlan

    lavlan Пользователь

    Сообщения:
    89
    Симпатии:
    20
    Доброго времени суток помогите разобраться с common.js
    /* Реализация поиска в форме по кнопке
    ********************/

    $('#search input[name=\'search\']').parent().find('button').on('click', function() {
    url = $('base').attr('href') + 'index.php?route=product/search';

    var value = $('header input[name=\'search\']').val();

    if (value) {
    url += '&search=' + encodeURIComponent(value);
    }

    location = url;
    });


    /* Обработка нажатия Enter в форме
    *********************************/

    $('#search input[name=\'search\']').on('keydown', function(e) {
    if (e.keyCode == 13) {
    var value = $('header input[name=\'search\']').val();
    if (value) {

    url = $('base').attr('href') + 'index.php?route=product/search';
    url += '&search=' + encodeURIComponent(value);
    }

    location = url;
    }
    });

    до выделенного красным работает, а после я так понимаю здесь идет обработка нажатия Enter не работает
    сам /common/search.tpl выглядит так:

    <form class="search-form closed">
    <div class="container">
    <div class="close-search"><i class="icon-delete"></i></div>
    <div id="search" class="form-group">
    <input type="text" name="search" value="<?php echo $search; ?>" placeholder="<?php echo $text_search; ?>" class="form-control input-lg">
    <button type="button"><i class="icon-magnifier"></i></button>
    </div >
    </div>
    </form>

    при нажатии Enter в строке поиска ссылка выглядит так:
    ruopencart/index.php?search=imac
    при нажатии кнопки поиска так:
    ruopencart/index.php?route=product/search&search=imac
    что логично те. url+='&search=' + encodeURIComponent(value)
    Где я я ошибся???
     
    Последнее редактирование: 24 мар 2015
  2. Ravilr

    Ravilr Специалист

    Сообщения:
    3.883
    Симпатии:
    1.065
    Когда научитесь правильно задавать вопросы и размещать их в нужные темы, может и помогут!
     
  3. rip

    rip Пользователь

    Сообщения:
    84
    Симпатии:
    19
    м-да, бывает.
     
  4. Ravilr

    Ravilr Специалист

    Сообщения:
    3.883
    Симпатии:
    1.065
    Код:
    if (value) {
    url += '&search=' + encodeURIComponent(value);
    }
    Код:
    if (value) {
    url = $('base').attr('href') + 'index.php?route=product/search';
    url += '&search=' + encodeURIComponent(value);
    }
    Игра. Найди одно отличие!!

    И почему бы просто не посмотреть как работает в нормальном common.js из сборки??
     
  5. lavlan

    lavlan Пользователь

    Сообщения:
    89
    Симпатии:
    20
    в сборке
    $('#search input[name=\'search\']').parent().find('button').on('click', function() {
    url = $('base').attr('href') + 'index.php?route=product/search';

    var value = $('header input[name=\'search\']').val();

    if (value) {
    url += '&search=' + encodeURIComponent(value);
    }

    location = url;
    });

    $('#search input[name=\'search\']').on('keydown', function(e) {
    if (e.keyCode == 13) {
    $('header input[name=\'search\']').parent().find('button').trigger('click');

    }
    });
    Красный блок отвечает за обработку нажатия энтер - пробовал не работет
     
  6. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    а как же у всех работает )) Может у вас какие то конфликты со скриптами или еще что то. Как можно помочь по выше указанному коду, который у вас не работает , а у всех работает ??
    Выкладывайте свой сайт в инет и там уже видно будет...
     
  7. lavlan

    lavlan Пользователь

    Сообщения:
    89
    Симпатии:
    20
    Сайт
    там 4 товара все видеокамеры 1 - 4
     
  8. lavlan

    lavlan Пользователь

    Сообщения:
    89
    Симпатии:
    20
    если в следующей строчке 'click' заменить 'keydown'
    $('#search input[name=\'search\']').parent().find('button').on('keydown', function() {
    то происходит что после выделения кнопки и нажатия Enter скрипт срабатывает так как надо.
    по нажатию Enter в поле ввода скрипт не срабатывает
     
  9. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    у вас сначала происходит вызов как положено, аж 3 раза , а вот в конце неправильный запрос.
    Поищите по шаблону и по скриптам что то типа ?search=
     
  10. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    еще у вас есть ошибки в верстке. Два раза встречаются закрывающий тег
    </body></html> а это тоже может давать всякие глюки
     
  11. lavlan

    lavlan Пользователь

    Сообщения:
    89
    Симпатии:
    20
    Как 3 раза?
     
  12. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    пользуйтесь инспектором в браузере и смотрите вкладку сеть. Там видно.
     
  13. lavlan

    lavlan Пользователь

    Сообщения:
    89
    Симпатии:
    20
    такого ни где не присутствует и такого тоже ==13 за исключением моих файлов
    может где то действительно конфликт скриптов...
    Решил писать все с чистого листа т.е. нужна функция добавляю не нужна и зачем она тогда нужна
    хотя заметил если не оборачивать <form>...</form> родной скрипт или мой то все работает как только появляется <form>...</form> кнопка работает "ентер" не работает....