как предотвратить отправку в прессе введите в twitter bootstrap typeahead plugin

У меня есть текст ввода, и я применяю его плагин typeahead для предложения элементов, но когда я нажимаю клавишу ввода на входном тексте, он отправляет форму.

Как я могу предотвратить отправку формы с помощью twart bootstrap typeahead plugin?

Ответ 1

Вы можете настроить таргетинг на этот конкретный ввод, добавив в него идентификатор и просто удалив событие keydown для ввода следующим образом:

JS

$(document).ready(function() {
  $('form input').keydown(function(event){
    if(event.keyCode == 13) {
      event.preventDefault();
      return false;
    }
  });
});

Ответ 2

Первый ответ не сработал для меня, возможно, из-за обновления плагина typeahead, но я передал проблему, используя "альтернативный" вход, созданный typehead:

$(".twitter-typeahead > input").focus(function(){
    //disable btn when focusing the input
    $("#my_submit_button").prop('disabled', true);
}).blur(function(){
    //enable btn when bluring the input
    $("#my_submit_button").prop('disabled', false);
});

Ответ 4

Лучшим способом, который я нашел для этого, является не использование ввода. Вместо этого используйте ввод кнопки и добавьте несколько js для отправки формы при нажатии.

$('#my_submit_button').click(function(){
    $(this).parents('form').submit();
});