2010-06-06 31 views
5

Ich habe einen Textbereich. Ich kann den Text mitjQuery vor textarea text()

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

stelle ich in den Textbereich wie dieser voranstellen können:

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

Aber ich kann nicht mit dem jquery text() Objekt wie folgt setzt:

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

Der Grund, warum ich dies tun möchte, ist so, dass, wenn mein Benutzer erhält mir diesen Text vorangestellt wird:

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

... das Skript wird ausgeführt und ich verliere.

Hilfe?

Antwort

9

Sie müssen die val() Eigenschaft ändern:

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

By the way, der richtige Weg, um den Inhalt des Textbereich zu erhalten, ist val() zu nennen, nicht text():