как предотвратить отправку в прессе введите в 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);
});
Ответ 3
Согласно документации, вы можете установить опцию confirmKeys
на что-то другое, чем return (13):
$('input').tagsinput({
confirmKeys: [188, 32, 39],
});
Тем не менее, более разумный способ сделать это - предотвратить отправку формы при вводе.
Ответ 4
Лучшим способом, который я нашел для этого, является не использование ввода. Вместо этого используйте ввод кнопки и добавьте несколько js для отправки формы при нажатии.
$('#my_submit_button').click(function(){
$(this).parents('form').submit();
});