2012-04-17 13 views
0

私はいくつかのJSコードをテキストエリアに表示しようとしています。コードはJSで生成されるので、JSでテキストエリアに挿入しています。ただし、<script>タグを使用すると、スクリプトが実行されます。私は&lt;を使ってこれを解決すると考えましたが、これは単に<の代わりに&lt;と表示しています。JSコードをテキストエリアに挿入

どのように私はこれを行うことができますか?

$('myTextarea').set('value', '<script>alert('do something');</script>'); 
+0

は、スタックオーバーフローへようこそ! –

+0

jqueryタグを使用してください。 –

+1

@Agent_L:どうしてですか? – Matt

答えて

1

スクリプトタグを2つに分けるだけです。

$('myTextarea').val('<script>alert("do something");</scr'+'ipt>'); 
+1

psst ..それは ' 'です; – Matt

+0

"何か "について引用符をエスケープする必要があります: - P –

+0

@Rocketなぜエスケープする必要がありますか? –

0

</script>開口<script>ブロックは、スクリプトブロックを閉じた後。 JS文字列に含まれているかどうかは関係ありません。

修正するには、</script>のように分割することができます。

$('myTextarea').set('value', '<script>alert('do something');</scr' + 'ipt>'); 

またはこのような(あまり一般的ではなく、働き、そしておそらくより正しいです)。

$('myTextarea').set('value', '<script>alert('do something');<\/script>'); 

さらに、引用符も修正する必要があります。

$('myTextarea').set('value', '<script>alert(\'do something\');<\/script>'); 

あなたは、これが今ここに働いて見ることができます:http://jsfiddle.net/pK9SK/

+0

完璧、そのおかげで –

関連する問題