0

重複の可能性:
JSP でアポストロフィまたは引用符をエスケープする方法 (javascript で使用)

jquery の val() で textarea 要素の値を設定する際に問題があります。

基本的に、'text' という文字列パラメーターを受け取る JSP ファイルがあります。

Java code:
String text = (String) request.getParameter("text");

ここで、textarea 要素に次のテキストを受け取るようにします。

Javascript code:
$('#textarea_id').val('<%=text%>');

テキストに一重引用符(およびおそらく他の文字)が含まれていない場合に機能します。

たとえば、テキスト =

test'

このエラーが発生します:

Uncaught SyntaxError: Unexpected token ILLEGAL
$('#textarea_id').val('test'');

皆さんが理解してくれることを願っています。この値をエンコードする方法が必要です...エスケープを使用しようとしたため、引用符は %27 に置き換えられましたが、エスケープを解除した後、再び置き換えられ、エラーが発生しました。

ありがとう!

4

3 に答える 3

1

Javascript が ' 文字を使用して文字列の終了位置を決定しているため、エラーが発生しています。文字列にリテラルの引用を含めるには、バックスラッシュで引用をエスケープします。

$('#textarea_id').val('test\'');
于 2012-10-17T16:59:32.683 に答える
0

Java コードで一重引用符をエスケープする必要があります。最終的な出力は次のようになります

.val('test\'')
于 2012-10-17T16:59:34.230 に答える
0

そのはず

$('#textarea_id').val('test \' ');
于 2012-10-17T17:00:19.393 に答える