2010-07-13 3 views
13

Je:Textarea prévention de retour à la ligne sur Enter (jQuery)

$('#myTextArea').keyup(function(e) { 
    if(e.keyCode == 13) { 
     e.preventDefault(); // Makes no difference 
    $(this).parent().submit(); // Submit form it belongs to 
    } 
}); 

Comment puis-je éviter la nouvelle ligne qui apparaît juste avant la soumission du formulaire? preventDefault() et stopPropagation ne fonctionnent pas. Je pourrais réinitialiser manuellement le texte du champ, mais ...

Répondre

25

Cela se produit parce que keyup est appelée après que le texte a été inséré dans la zone de texte.

Pour attraper la clé avant d'être entré, vous devez écouter l'événement keydown.

Alors il suffit de changer le keyup en keydown et vous devriez être prêt à partir.

$('#myTextArea').keydown(function(e) { 
+2

Merci. Je ne peux pas croire que je n'ai pas vu ça. – ash

+1

oui .. un de ces cas glissants .. :) –

+1

merci! J'ai passé une heure là-dessus. – Guanlun

Questions connexes