По нажатию клавиши 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 шт):
Мда.. Намешано у Вас...
$('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 - например вот тут есть пример и для Вашего варианта.