Отправка сообщений по нажатию на клавишу Enter
Доброго времени, уважаемые форумчане, есть такая форма:
$('#send_btn').click(function(){
var msg = $("input[name='msg']").val();
if(msg.length > 0 && msg.length <= 256){
$("input[name='msg']").val('');
addMSG(user_nick, msg);
$.ajax({
type: "POST",
url: ajax_url,
data: {
req_type: 'send_msg',
nick: user_nick,
msg: msg
},
success: function(res){
last_id = res;
}
});
}
});
и html:
<div id="user_input">
<input type="text" name="msg" maxlength="256" placeholder="Введите Ваше сообщение" />
<button id="send_btn">Отправить</button>
</div>
Не могу добавить отправку сообщений по нажатию на клавишу Enter, не могли бы вы мне помочь с этим делом? Пытался добавить код:
$( "#target" ).keydown(function( event ) {
if ( event.which == 13 ) {
event.preventDefault();
}
var msg = $("input[name='msg']").val();
$.print( msg, "html" );
$.print( event );
});
после $('#send_btn').click(function(): $( "#target" ).keydown(); но ничего не получилось, подскажите как сделать отправку сообщений через клавишу enter, не убирая кнопку "отправить"? |
function sendForm() {
var msg = $("input[name='msg']").val();
if (msg.length > 0 && msg.length <= 256) {
$("input[name='msg']").val('');
addMSG(user_nick, msg);
$.ajax({
type: "POST",
url: ajax_url,
data: {
req_type: 'send_msg',
nick: user_nick,
msg: msg
},
success: function (res) {
last_id = res;
}
});
};
};
$('#send_btn').click(sendForm);
$("input[name='msg']").keydown(
function (event) {
if (event.keyCode == 13) {
sendForm();
}
}
);
|
Почему бы не использовать для этих целей <form>? Тогда отправка без всяких скриптов будет по Enter. И слушаем событие submit.
Можно пойти дальше и прописать фолбэк атрибут action, параметры передавать скрытыми полями и вот наша форма умеет работать без всяких скриптов. |
CiliZ,
спасибо большое, получилось, разобрался danik.js, есть много способов, в другом чате попробую без скриптов сделать :) |
| Часовой пояс GMT +3, время: 23:49. |