2011-10-18 12 views
2

私はGrailsで新しく、Ajaxにいくつかの問題があります。私のメインのGSP上では、オプションをクリックすると、同じページに別のフィールドを表示して他のものを選択する選択ボックスが必要になります。 2番目の部分の内容は動的なので、私はsomme Ajaxが必要です。とにかく私はまだ成功していません。ここに私のコードは次のとおりです。Grails RemoteForm、Ajaxは機能しません。

main.gsp

<html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <meta name="layout" content="main" /> 
    <title>Sample title</title> 
    <g:javascript library="jquery"/> 
    </head> 
    <body> 
    <h1>Selection de l'email</h1> 
    <div class="dialog"> 
     <g:select name="selectTemplate" 
        from="${templateCategories}" 
        value="category" 
        noSelection="['':'--- choisissez un modèle ---']" 
        onchange="${remoteFunction(
         controller:"email" 
         action:"printTestTemplate" 
         update:"listTemplates" 
         params:'\'category=\'+this.value' 
        )}" 
        /> 
      <div id="listTemplates">RRR</div> 
     </div> 
    </body> 
</html> 

EmailController

def printTestTemplate = { 
    println params.category //doesn't print anything 
    println "YEAAAAAAAAAH" //the same 
    render(view:"formSelectTemplate", model:[templates:EmailTemplate.findByCategory(params.templateCategory)]) 
} 

formSelectTemplate.gsp

<h1>YOUHOUUU !</h1> 

私は両方(によってビューまたはテンプレートを呼び出すために試してみましたもちろんgspの名前を変更する)、何も働かなかった。それでも、私は理解していない、私は公式の文書に従った。 HTMLの結果は選択ボックスにイベントを生成せず、Firebugは404がないことを通知することに注意してください。したがって、ボックスの作成時に何かを見逃しているに違いありません。 HTMLで

選択結果:

<select id="selectTemplate" name="selectTemplate"> 
    <option value="Refus">Refus</option> 
    <option value="Informations complémentaires">Informations complémentaires</option> 
</select> 

答えて

1

あなたremoteFunction呼び出しの引数の間昏睡を忘れてしまいましたか?このように:

onchange="${remoteFunction(controller:"email", 
          action:"printTestTemplate", 
          update:"listTemplates", 
          params:'\'category=\'+this.value')}" 
+0

私は二重引用符がこの場所で働いて(あるいは、それは、[このバグ](http://jira.grails.org/browse/GRAILS-1973?page=com.atlassianかもしれべきだと思います。 jira.plugin.system.issuetabpanels%3Aall-tabpanel)grails <= 1.3.5を使用している場合。 – Antoine

関連する問題