Отправка значения при нажатии Enter в текстовом поле и нажатии Shift+Enter должна перейти в следующую строку

Я хочу иметь чат (текстовое поле), где если пользователь нажимает Enter, то он должен отправить чат, и если пользователь нажимает Shift+Enter, то он должен ввести новую строку.

Я пытался что-то сделать, но не смог разобраться с точной клавиатурой или кейдауном. Код, который я сейчас использую:

$("textarea").keydown(function(e){
    if (e.keyCode == 13 && !e.shiftKey)
    {
        e.preventDefault();
    }
}); 

jsFiddle

Также я хочу, чтобы при нажатии клавиш Enter+Shift \n был на месте.

EDIT

Проблема с моим кодом это:-

Когда я проверяю содержимое на клиенте с помощью alert, то показывает следующую строку. Но когда я размещаю ее, мои рельсы заканчиваются обратно. Тогда это простая строка. Никакой новой строки нет.

Вот как я посылаю чаты на рельсовый сервер.

  $.post("/incomingchat", { body:$("#chat_" + group_id).val() },
   function(data){
        // do something..
    });

7
задан Mohit Jain 8 September 2011 в 08:46
поделиться