Отправка сообщение по нажатию enter
Как мне сделать , чтобы при нажатии Enter у меня отправлялось сообщение ? Искал - искал , нашел код для отправки при нажатии Enter , но дальше перезагрузки страницы не ушел :( Есть html :
<input id="message_text" type="text">
<button id="send_enter" type="button" class="btn btn-dark" onclick="run()">войти</button>
Про функцию run
if(userID == 0 ) login();
else send();
Функция send :
var msg = $("#message_text").val();
$("#message_text").val('');
var zapros = {
url: "main.php",
type: "POST",
data: {
action:"send_message",
message: msg,
userID: userID
},
success: function(data){
//alert( "Прибыли данные: " + data );
update_messages();
}
};
$.ajax(zapros);
};
Ответы (2 шт):
Автор решения: MyNameIsKitsune
→ Ссылка
Попробуй на кнопке в событии onclick добавить event.preventDefault()
Вот так:
<button id="send_enter" type="button" class="btn btn-dark" onclick="event.preventDefault();run();">войти</button>
Автор решения: Arsen
→ Ссылка
Каждая клавиша имеет свой идентификатор и зная данный код можно повесить событие.
Javascript
document.getElementById("send_enter").addEventListener("keyup", function(e) {
if (e.keyCode === 13) {
run();
return false;
}
});
JQuery
$(document).ready(function() {
$('#send_enter').keyup(function(e) {
if (e.which === 13)
{
e.preventDefault();
run();
}
});
});