1

かなり長い間 Google で検索してきましたが、この問題の解決策が見つかりません。Groovy コントローラーで GSP ファイルから JavaScript 変数にアクセスしようとしていますが、その方法がわかりません。

例:

//JavaScript stuff
<script>
    function validateForm(){
         var ret = false
    }
</script>

//Groovy controller stuff
def myAction = {
    println params.ret
}

これに似たものを達成するにはどうすればよいですか?

4

2 に答える 2

2

コントローラーに変数を渡す 2 つの方法:

  1. アヤックス
  2. フォーム送信

アヤックス

  • 使用するremoteFunction

    ${remoteFunction(controller: 'actionsController' , action: 'implementNewPixel', params: '\'ret=\' + ret')} 
    
  • Ajax を使用する

    var ret = false;
    jQuery.ajax({
        url: "${createLink(controller: 'actionsController', action: 'implementNewPixel')}",
        data: "ret=" + ret,
        success: function (data) {
            alert(data);
        }
    });
    

フォーム送信

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
    var ret;
    function validateForm(){
        ret = false;
    }

    jQuery(function () {
        jQuery("[name='jftForm']").submit(function () {
            jQuery("[name='ret']").val(ret);
        });
    });
</script>

<g:form name="jftForm" controller="actionsController" action="implementNewPixel">
    ...
    <g:hiddenField name="ret" value=""/>
    <g:submitButton name="submit" value="Submit"/>
</g:form>
于 2013-08-07T06:19:06.687 に答える
0

ドキュメンテーションを見てください。

params: '\'ret=\' + ret'

于 2013-08-07T04:33:15.880 に答える