2011-07-14 31 views
0

でダイアログに:$ {name}が=場合、( ")私は次のコードを持っているはずのjQuery

<html:link onclick="jQuery('#add').data('name','${name}').dialog('open');" href="#"> 

そして、これとの" B "C、問題がリンクがうまくレンダリングされていなかった、発生します。 私はシリアライズ、値を脱出しようとしたけど、多分私のやり方が間違っている。

はこれを行うにはどのように任意の提案?私が探してきたが、私はちょうど答えを見つける傾ける。

ありがとうございました。

+0

それはたくさんの感謝:)仕事..しかし、すべてのソリューション$ {名} =? – andi

答えて

1

あなたがescape your quotesに必要とするか、またはそれにリスナーを置くことによって(私はお勧め)DOMからそれを取る:

$('a').click(function(){ 
    $('#add').data('name','${name}').dialog('open'); 
}); 
+0

それは働く:)ありがとうalot .. – andi

+0

それを聞いてうれしい - あなたのために働いた場合私の答えの横にチェックマークをクリックして本当にありがとう。ありがとう! – AlienWebguy

+0

でも、$ {name} =の場合の解決策はありますか? – andi

0

JavaScriptを使用しないのはどうですか?

テンプレート <html:link id="add_name_open_dialog" rel="${name}" href="#">

はJavaScript

jQuery("#add_name_open_dialog").click(function(){ 
    jQuery('#add').data('name', $(this).attr("rel")).dialog('open'); 
}); 
1

をあなたhtmlエンティティなどのデータ値をエスケープする必要があります。詳細はthis linkを参照してください。

そして、Struts 2 Frameworkを使用していますか?ちょうど<s:property>を使用すれば、それはあなたのためにそれをエスケープするでしょう。

ない場合は、JSTLで<c:out>を使用し、それはあなたを助ける:)

関連する問題