我想在渲染模板后通过“onload()”函数调用 JS 函数,或者通过 g:formRemote 标记中的“onSuccess()”回调调用 JS 函数。在我的主要 GSP 中,我有以下内容。此代码对控制器进行回调并设置要传递到模板的模型。
GSP:
<g:formRemote name="ptoReport" url="[controller:'Report', action:'ptoBarChart']" update="barChartDiv">
<g:submitButton name="pto" value="PTO" class="btn btn-primary"/>
</g:formRemote>
<div id="barChartDiv">
<g:render template="barChart"/>
</div>
我的控制器代码如下所示:
Controller:
def ptoBarChart(){
Map usersAndPTO = timesheetService.getPTOForAllUsers()
render(template: 'barChart', model:[points: usersAndPTO])
}
我想在模板加载后立即调用 JS 函数,但诀窍是将“usersAndPTO”映射传递给 JS 函数。我尝试将 "onLoad="barChart(${points})"" 添加到呈现的模板中,但它永远不会被调用。并将“onSuccess="barChart(data)"” 添加到 g:formRemote 会导致我将模板的 GSP 代码传递给 JS 函数。
非常感谢任何帮助。