web-dev-qa-db-fra.com

jQuery textarea ajoute un comportement de nouvelle ligne

J'essaie d'ajouter une chaîne qui se termine par des sauts de ligne à une zone de texte à l'aide de jQuery. Cependant, différents jetons de nouvelle ligne montrent un comportement différent dans Firefox3.5 et IE8, et je n'arrive pas à trouver un moyen d'utiliser quelque chose qui fonctionne pour les deux navigateurs.

  • \n fonctionne dans FF mais pas dans IE
  • <br/> et \r\n fonctionne en IE mais pas en FF
  • Pas de chance en utilisant <pre></pre> balises soit

J'ai vu des informations sur le problème IE innerHTML mais je ne sais pas exactement comment aborder ce problème au mieux dans jQuery. Merci pour toute aide!

43
Suan

Vous ne savez pas comment vous définissez le contenu de la zone de texte, mais si vous utilisez la méthode jQuery val, \n fonctionne de manière cohérente dans Firefox et IE (y compris IE8):

var txt = $("textarea#idhere");
txt.val( txt.val() + "\nSomething here\n\nAgain");

Provoque l'affichage de la zone de texte:

Contenu existant
et les sauts de ligne, le cas échéant.
Quelque chose ici

Encore

Vous pouvez voir une démo ici qui fonctionne dans FF et IE8: Demo | Source

85
Doug Neiner

Est-ce que le fait d'appuyer sur la touche [entrée] crée une nouvelle ligne dans IE8 pour vous? Vous devrez peut-être faire ce que la réponse à cette question suggère: entrer ne fonctionne pas dans la zone de texte dans Internet Explorer 8

0
John Boker