2010-06-06 18 views
5

J'ai une zone de texte. Je peux mettre le texte avecjquery préfixe textarea text()

$("#mytextarea").text("foo") 

Je préfixer à la zone de texte comme celui-ci:

$("#mytextarea").prepend("foo") 

Mais je ne peux pas préfixer à l'objet texte jquery() comme ceci:

$("#mytextarea").text().prepend("foo") 

La raison pour laquelle je veux faire cela est que si mon utilisateur me fait préfixer ce texte:

$("#mytextarea").prepend("<script>alert('lol i haxed uuu!')</script>") 

... le script s'exécute et je perds.

Aide?

Répondre

9

Vous devez modifier la propriété val():

$('#mytextarea').val(function(index, old) { return '...' + old; }); 

Par ailleurs, la bonne façon d'obtenir le contenu du textarea est d'appeler val(), non text():