2014-02-27 40 views
1

我想執行一個JavaScript代碼來初始化我的gsp模板中的某些組件。我需要在模板加載後執行腳本代碼。該模板從控制器加載。任何想法如何實現?Grails - 如何在模板呈現後執行javascript方法?

代碼呈現CONTROLER內模板:

render(template: 'myTemplate', model:[user:User]) 

我使用formRemote調用控制器

<g:formRemote url="[action:'showMeTemplate', controller: 'User']" name= "formName" update="myTemplateDiv"> 
</g:formRemote> 
+3

你試過了'onSuccess'或'onComplete'事件的'formRemote'? http://grails.org/doc/latest/ref/Tags/formRemote.html – aldrin

+0

這是onComplete。我的不好,在文檔中沒有注意到。我在前後嘗試。有人可以將此標記爲答案嗎? – Halley

+0

我會將其轉換爲答案 – aldrin

回答

0

你可以利用的屬性

「之前」
<g:formRemote before="setTimeout(function(){return true;},500);" url="[action:'showMeTemplate', controller: 'User']" name= "formName" update="myTemplateDiv" > 
</g:formRemote> 

沒有測試它,但也許你有一個想法

0

從Grails文檔(http://grails.org/doc/2.2.1/ref/Tags/formRemote.html)可以使用onLoaded參數調用一些JavaScript,如果遠程表單調用成功(即如果遠程形式可以呈現):

<g:formRemote url="[action:'showMeTemplate', controller: 'User']" name= "formName" update="myTemplateDiv" onLoaded ="myJSfunction()"> 
</g:formRemote>