5

I have a text area. I can set the text of it with

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

I can prepend to the text area like this:

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

But I cannot prepend to the jquery text() object like this:

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

The reason I want to do this is so that if my user gets me to prepend this text:

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

...the script executes and I lose.

Help?

shino
  • 4,562
  • 5
  • 38
  • 57

2 Answers2

9

You need to modify the val() property:

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

By the way, the correct way to get the contents of the textarea is to call val(), not text():

SLaks
  • 868,454
  • 176
  • 1,908
  • 1,964
0

Please check the following URL for jQuery .val() API documentation for more details-

http://api.jquery.com/val/

Anjuman
  • 1,424
  • 15
  • 10