2016-07-03 7 views
0

内のJavaScript関数に渡すGストリング示すように私には、JavaScript関数にパラメータとしてGストリングを渡しています:ここGrailsの

<div class="btn btn-small" id="helpful" onClick="helpful(${value})">Helpful</div> 

、値が動的であるコントローラから来ます。私はjavascriptの機能を持っています:

function helpful(answer){ 
     $.post("${createLink(controller: "reviews", action: "dataFromReviews")}", 
       { 
        helpful:true, 
        answer:answer 
       } 
     ); 
    } 

しかし私は何の反応も得ていません。検査中にエラーはありません。私たちはgstringをjavascriptで渡せませんか?助けてください。

答えて

0

生成されたHTMLの外観はどのようなものですか?私はあなたが '有用な'機能のためのパラメータとして使用している外挿された文字列を引用していないので、あなたはそれにjavascriptエラーがあると思います。これはうまくいくはずです:

<div class="btn btn-small" id="helpful" onClick="helpful('${value}')">Helpful</div> 
+0

ありがとう非常に@helgew。これは愚かな間違いだった。私はそれに尋ねるために恥ずかしいと感じる – Prakash

1

@helgewと同様に、出力を確認してください。 grails> 2.3では、これを無効にしない限り(grails.views.default.code = 'none')、GStringで渡されたものはHTMLエンコードされます。エンコーディングを避けるには、生のコーデックを使用する必要があります。慎重に使用してください:

<div class="btn btn-small" id="helpful" onClick="helpful('${raw(value)}')">Helpful</div>