Soumettre valeur en appuyant sur Entrée dans la zone de texte et appuyez sur Maj+Entrée doit passer à la ligne suivante

Je veux avoir une zone de chat (textarea) où si l'utilisateur appuyez sur Entrée, puis soumettre le chat, et si l'utilisateur appuyez sur Maj+Entrée, alors il devrait entrer dans une nouvelle ligne.

J'ai essayé quelque chose, mais pas en mesure de comprendre exactement keyup ou keydown chose. Le code que j'utilise en ce moment est:

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

jsFiddle

Aussi je veux obtenir le \n en place lors de l'Entrée+la touche Shift est enfoncée.

MODIFIER

Problème avec mon code est:-

Quand je suis en vérifier le contenu sur le client en utilisant l'aide d'alerte puis il montre la ligne suivante. Mais quand j'ai poster mon rails de back-end. Alors, c'est juste une simple chaîne de caractères. Pas de nouvelles de la ligne est là.

C'est la façon dont je suis l'envoi de chats de serveur rails.

  $.post("/incomingchat", { body:$("#chat_" + group_id).val() },
   function(data){
        //do something..
    });
Merci de ne pas lien vers le jsfiddle; toujours inclure le code dans la question.
Quel est le problème avec le code que vous avez posté? Pour moi, il fonctionne exactement comme vous l'avez décrit? jsfiddle.net/Su5ts/25
Désolé, garder cette chose à l'esprit.

OriginalL'auteur Mohit Jain | 2011-09-08