レンダリングされたテンプレートを表示するために、fieldset や td などのタグを更新するボタンがあります。
<td id="tdBtn"><g:submitToRemote name="showFieldSet" value="Edit" update="fieldSet" action="setPwdTxtVisible" onComplete="hideBtn(3)" /></td>
<fieldset id="fieldSet">
<-- this will be the section where the template will be rendered upon btn click name="showFieldSet" -->
</fieldset>
アクション:
def setPwdTxtVisible=
{
def employeeId= params.employeeId
MySession session = MySession.getMySession(request, params.employeeId)
session.profileInstance.isEditPwd = true
render(template:"/layouts/passwordProfile")
}
ボタンではなく def メソッド内で更新を行う方法はありますか? 問題は、データの保存時に検証が失敗し、ページがリロードされ、更新された td が再びレンダリングされたテンプレートに戻らないことです。テンプレートが引き続き存在するように、catch 内の td を (SAVE メソッドの try catch ステートメントで) 更新したいと考えています。このようにコーディングするのが好きです:そして、javascriptを使用せずに最初の場所でtdにアクセスするにはどうすればよいですか? これは可能ですか?
def setPwdTxtVisible=
{
def employeeId= params.employeeId
MySession session = MySession.getMySession(request, params.employeeId)
session.profileInstance.isEditPwd = true
render(template:"/layouts/passwordProfile")
update fieldset //<<------
}