Отправка сообщений по нажатию на клавишу 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, время: 11:53. |