2009-10-25 19 views
1

Je souhaite supprimer le saut de ligne en appuyant sur Entrée. Au lieu de cela, je veux soumettre le formulaire. Je sais comment soumettre le formulaire en appuyant sur entrer dans textarea, mais je ne sais pas pour supprimer le saut de ligne en appuyant sur Entrée. J'ai besoin de le cacher de l'utilisateur, je veux dire que je veux que l'utilisateur ne voit pas que l'entrée a fait une nouvelle ligne, même pour un moment.Supprimer le saut de ligne dans <textarea> en appuyant sur Entrée [html, javascript]

Merci à l'avance.

+1

J'accepte des réponses si elles sont vraiment 1) utiles 2) correct objectif 3). Souvent, les réponses sont subjectives et ne sont que des opinions. – nightcoder

+0

En outre, si les gens ne répondent que pour la notation - alors ok, s'il vous plaît ne répondez pas à ma question :) – nightcoder

Répondre

1

Vous pouvez supprimer l'action clé par défaut dans un gestionnaire d'événements keypress:

textArea.onkeypress = function(evt) { 
    evt = evt || window.event; 
    var charCode = evt.keyCode || evt.which; 
    if (charCode == 13) { 
     evt.returnValue = false; 
     if (evt.preventDefault) { 
      evt.preventDefault(); 
     } 

     // Do the form submit 
     this.form.submit(); 
    } 
}; 
+0

Merci! Bien que je pense que nous devons utiliser "document.getElementById ('myForm'). Submit()" pour le faire fonctionner dans FireFox. – nightcoder

+0

Cela dépend de la manière dont vous attachez le gestionnaire d'événements keypress. Si vous avez une référence à un objet textarea alors sa propriété 'form' sera une référence à son formulaire contenant dans tous les navigateurs, à condition qu'il soit contenu dans un formulaire. Dans mon exemple, je profitais de ceci comme étant une référence à la cible de l'événement, et cela devrait fonctionner comme dans tous les navigateurs. –

+0

Je joins l'événement comme ceci: "