Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.09.2014, 23:21
Аватар для opiums
Новичок на форуме
Отправить личное сообщение для opiums Посмотреть профиль Найти все сообщения от opiums
 
Регистрация: 26.09.2014
Сообщений: 3

Отправка сообщений по нажатию на клавишу 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, не убирая кнопку "отправить"?

Последний раз редактировалось opiums, 26.09.2014 в 23:27.
Ответить с цитированием
  #2 (permalink)  
Старый 01.10.2014, 12:06
Аспирант
Отправить личное сообщение для CiliZ Посмотреть профиль Найти все сообщения от CiliZ
 
Регистрация: 04.01.2013
Сообщений: 34

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();
        }
    }
);
Ответить с цитированием
  #3 (permalink)  
Старый 01.10.2014, 12:42
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Почему бы не использовать для этих целей <form>? Тогда отправка без всяких скриптов будет по Enter. И слушаем событие submit.

Можно пойти дальше и прописать фолбэк атрибут action, параметры передавать скрытыми полями и вот наша форма умеет работать без всяких скриптов.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #4 (permalink)  
Старый 05.10.2014, 05:48
Аватар для opiums
Новичок на форуме
Отправить личное сообщение для opiums Посмотреть профиль Найти все сообщения от opiums
 
Регистрация: 26.09.2014
Сообщений: 3

CiliZ,
спасибо большое, получилось, разобрался

danik.js,
есть много способов, в другом чате попробую без скриптов сделать
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отмена события по нажатию на Enter Valentinka_1 jQuery 12 01.08.2013 02:30
Отправка формы по ENTER (ajax) и перенос строки VEGA jQuery 18 01.03.2013 14:09
Отправка формы по нажатию на ENTER Vuzy Общие вопросы Javascript 9 24.01.2013 23:36
Скрипты отправка сообщений между пользователями, скрипт вывод текста на страницу.... Rapala Элементы интерфейса 2 12.01.2011 17:27
Отмена submit по нажатию Enter Bratok Events/DOM/Window 1 28.04.2009 05:11