J'utilise jQuery et je me demande si je devrais utiliser val () ou text () (ou une autre méthode) pour lire et mettre à jour le contenu d'un textarea.
J'ai essayé les deux et j'ai eu des problèmes avec les deux. Lorsque j'utilise text () pour mettre à jour textarea, les sauts de ligne (\ n) ne fonctionnent pas. Lorsque j'utilise val () pour récupérer le contenu textarea, le texte est tronqué s'il est trop long.
Réponses:
La meilleure façon de définir / obtenir la valeur d'une zone de texte est la
.val()
,.value
méthode..text()
utilise en interne la méthode.textContent
(ou.innerText
pour IE) pour obtenir le contenu d'un fichier<textarea>
. Les cas de test suivants illustrent commenttext()
et se.val()
relient les uns aux autres:La
value
propriété , utilisée par.val()
affiche toujours la valeur visible actuelle, alors quetext()
la valeur de retour de peut être erronée.la source
text()
ne fonctionne plus après avoir modifié manuellement quoi que ce soit (par exemple, l'ajout d'un caractère).val()
fonctionne toujours avec destextarea
éléments..text()
fonctionne parfois et échoue d'autres fois! Ce n'est pas fiable (testé dans Chrome 33)Le mieux, c'est que cela
.val()
fonctionne de manière transparente avec d'autres éléments de formulaire (commeinput
), alors qu'il.text()
échoue.la source