2010-01-04 6 views
1

Sur ma page, j'ai une zone de texte où les utilisateurs peuvent entrer une liste d'éléments, les éléments étant séparés par une nouvelle ligne.Comment traiter automatiquement le contenu de <textarea> sans que l'utilisateur n'appuie sur un bouton?

Je voudrais traiter l'entrée de l'utilisateur sans qu'il doive appuyer sur un bouton de soumission. ("Processus" signifie envoyer les informations que l'utilisateur a saisies sur le serveur et mettre à jour les autres éléments sur la page actuelle.) J'ai pensé à deux jours:

1- Installez un gestionnaire d'événements pour les événements de pression de touche et, lorsque obtenir un événement pour la touche Entrée, appuyez sur la ligne que l'utilisateur vient de terminer. (Obtenir l'information sur la position du curseur comme terminé here.) Cela a l'inconvénient de ne pas gérer le copier-coller dans le formulaire. (Et, si j'ai bien compris à partir de Stack Overflow, la gestion des événements paste est not great même parmi les navigateurs les plus courants, non?)

2- Traitez périodiquement le contenu de la zone de texte en utilisant setInterval(). J'utilise déjà un setInterval() sur la page pour implémenter le unique URLs pattern, donc si je pouvais, je l'éviterais.

Existe-t-il de meilleurs moyens pour y parvenir?

Répondre

2

Il existe également un événement "onchange" pour une zone de texte. Vous pouvez l'utiliser pour détecter les changements, y compris les insertions de pâte ou de magie.

+0

@alemjerus: merci, c'est utile! Je vais écouter pour cet événement. – laramichaels

Questions connexes