Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как заставить работать Enter в связке input-button? (https://javascript.ru/forum/jquery/86238-kak-zastavit-rabotat-enter-v-svyazke-input-button.html)

tp-20 30.12.2024 19:52

Как заставить работать Enter в связке input-button?
 
Вложений: 1
Добрый день.

Нужно после ввода в поле input по нажатию на Enter активировать кнопку button и начать поиск.
Сейчас поиск работает только нажатием мышки, что очень не удобно.
Скрин для наглядности.

что нужно изменить в JS, чтобы активировать кнопку Enter?

движок OpenCart:

<input type="text" name="filter_name" value="<?php echo $filter_name; ?>" placeholder="<?php echo $entry_name; ?>" id="input-name" class="form-control" />

<button type="button" id="button-filter" class="btn btn-primary pull-right"><i class="fa fa-search"></i> <?php echo $button_filter; ?></button>

$('#button-filter').on('click', function() {
	var url = 'index.php?route=newsblog/article&token=<?php echo $token; ?>';

	var filter_name = $('input[name=\'filter_name\']').val();

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

	var filter_category = $('select[name=\'filter_category\']').val();

  	if (filter_category != '*') {
		url += '&filter_category=' + encodeURIComponent(filter_category);
	}

	var filter_status = $('select[name=\'filter_status\']').val();

	if (filter_status != '*') {
		url += '&filter_status=' + encodeURIComponent(filter_status);
	}

	location = url;
});

ksa 30.12.2024 21:06

Цитата:

Сообщение от tp-20
что нужно изменить в JS, чтобы активировать кнопку Enter?

Поместить инпут и кнопку в форму... ;)

tp-20 31.12.2024 15:03

решение.
подсказали на другом форуме)

в футер в админке вставил скрипт:
$(document).ready(function() {
    $(document).on("keypress", function(event) {
        var keycode = (event.keyCode ? event.keyCode : event.which);
        if (keycode == '13') {
            $("#button-filter").trigger('click');
        }
    });
});


Часовой пояс GMT +3, время: 17:08.