2009-11-02 18 views

Répondre

14

capture la séquence de touches, vérifiez si elle est entrée, puis rechercher l'élément parent form et le soumettre:

$('#textAreaId').keydown(function (e) { 
    var keyCode = e.keyCode || e.which; 

    if (keyCode == 13) { 
    $(this).parents('form').submit(); 
    return false; 
    } 
}); 

Vérifiez l'exemple ci-dessus here.

+1

Dang CMS. Vous êtes l'homme. –

1

Ajoutez une fonction onKeyPress à la zone de texte et faites-la intercepter (code de caractère 13) et soumettez le formulaire à la place.

Here's an example qui utilise une entrée de texte au lieu de textarea, mais cela devrait fonctionner de la même manière.

<textarea name="myTextArea" onKeyPress="checkEnter(event)"></textarea> 
1

Le squelette de base (du API docs):

$('#textarea-selector-here').keydown(function(event) 
{ 
    switch(event.keyCode) 
    { 
     // ... 
     // different keys do different things 
     // Different browsers provide different codes 
     // see here for details: http://unixpapa.com/js/key.html  
     // ... 
    } 
}); 

Cependant, si vous ne voulez pas permettre l'entrée multiligne, pourquoi ne pas simplement utiliser un <input type="text" />?

+1

Sûrement que vous voulez dire type = "texte" :) –

+0

Yup, désolé pour la faute de frappe. –

+0

Vous pouvez avoir un point TStamper parce que j'ai des problèmes avec le $ (this) .parents ('form'). Submit(); ne fonctionne pas. –

Questions connexes