По нажатию клавиши enter после ввода в поле input необходимо срабатывание нажатие кнопки Button

По нажатию клавиши enter после ввода в поле input необходимо срабатывание нажатие кнопки Button. Оно почему-то не срабатывает.

PHP - код:

<input class="header_nav_search col-md-4 col-lg-5 col-xl-5 ml-auto" placeholder="Поиск..." type="search" oninput="$('.header_nav_search').attr('value', this.value);" value='<?php echo $_COOKIE["mysearch"] ?>'>
        <button class="col-1 col-sm-1 col-md-1 header_nav_button_search ml-md-0" onclick="search_start()"><img src="img/search.png" alt="search"></button>

JS-код:

$('.header_nav_search').keyup(function(event) {
  if (event.keyCode === 13) {
    $('.header_nav_button_search').click();
  }
});

Ответы (1 шт):

Автор решения: delikates

Мда.. Намешано у Вас...

$('header_nav_button_search').on('click', function(){
    //Здесь код функции search_start()

})'

Далее, объясните мне смысл вот этого

oninput="$('.header_nav_search').attr('value', this.value);"

Читаем спецификацию

атрибут событий oninput позволяет задать срабатывание скрипта, когда элемент получает ввод данных от пользователя.

Таким образом в момент когда пользователь что-то ввел в Ваше поле Вы этому же полю присваиваете его же значение. Масло масленное.

А вот тут я бы на Вашем месте добавил немного кода

$('.header_nav_search').keyup(function(event) {
  if (event.keyCode === 13) {
    event.preventDefault(); //<--
    $('.header_nav_button_search').click();
  }
});

Ну и напоследок - используйте поиск по stackoverflow - например вот тут есть пример и для Вашего варианта.

→ Ссылка