Вперед отправить с вводом

Я использую начальную загрузку, и мне интересно, как мне отправить ее при нажатии кнопки ввода? Другими словами, если я наберу «привет» в поле ввода и нажму «Ввод», как я могу отправить «привет»?

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

Это мой код:

<form method="POST" action="script.php">
    <input name="typeahead_field" class="typeahead" data-provide="typeahead" autocomplete="off" type="text">
</form>

jQuery:

$('.typeahead').typeahead({
    items: 10,
    source: function (query, process) {
        $.ajax({
            url: 'typeahead.php',
            type: 'POST',
            dataType: 'JSON',
            data: 'query=' + query,
            success: function(data) {
                process(data);
            }
        });
    },
    highlighter: function(data) {

        // code that returns each result

        return html;
    },
    updater: function(data) {
        // code that redirects the user if they click the selection
    },
});

Пожалуйста помоги!


person user3217099    schedule 20.01.2014    source источник


Ответы (3)


Вам нужна кнопка отправки, чтобы включить отправку при входе. Вы можете скрыть кнопку с помощью этого CSS:

<input type="submit" style="position: absolute; left: -9999px">

(из https://stackoverflow.com/a/477699/759971)

person Sanjo    schedule 21.01.2014

Старый вопрос, но на него стоит ответить. Вот возможное решение:

$('.typeahead').on('keydown', function(e) {
  if (e.keyCode == 13) {
    var ta = $(this).data('typeahead');
    var val = ta.$menu.find('.active').data('value');
    if (!val)
      $('#your-form').submit();
  }
}

РЕДАКТИРОВАТЬ: первая попытка была очень наивной :)

person JuanXarg    schedule 14.11.2016

работает хорошо, но не выделяет выделение, как при наведении курсора мыши. Возможно, это решение будет работать лучше, поскольку, кажется, инкапсулирует суть предыдущего ответа. https://bwbecker.github.io/blog/2015/08/29/pain-with-twitter-typeahead-widget/

person ajm0824    schedule 05.07.2021
comment
StackOverflow обычно предпочитает ответы, которые представляют собой нечто большее, чем просто ссылку (или ссылку с одним или двумя предложениями, чтобы рекомендовать ее). - person Tom; 05.07.2021