我正在开展关于Grails的项目。
我有一个过滤页面(Filters.html),我可以使用各种参数执行搜索。执行搜索后,将显示结果。 (results.html) 在结果页面中,它有一个更新记录的链接。 (update.html) 点击更新链接后,它将转到更新html页面,在该页面中有一个后退按钮,还有一个表单,以便可以更新和保存详细信息。
使用window.history.go(-1);和window.history.back()它没有任何问题进入后页。但是,在更新表单详细信息时会出现问题。提交表单时,它会进入同一更新页面并显示记录已更新。之后单击BACK按钮时,它将转到同一页面。但是没有回到结果页面。如果我单击两次BACK按钮,它将返回结果页面。
我无法在更新页面中保存搜索参数,因为有几种方法可以转到update.html。 有什么建议吗?
答案 0 :(得分:1)
在成功更新后,您可以重定向到结果视图,而不是重新呈现更新页面。
update() {
// do the update
redirect( action: 'results' )
}
或者不是有一个后退按钮,而是有一个可以直接进入结果视图的按钮:
<g:link action="results"><button type="button" value="Results">Results</button></g:link>
答案 1 :(得分:0)
如何创建一个名为numUpdates(nothing)的变量。更新表单时增加变量,并使用“GO BACK”按钮调用window.history.go(-1 * numUpdates)。
答案 2 :(得分:0)
更改表单提交的页面的URL,向末尾添加参数
例如update.html?submitted = true
然后创建一个if语句,如果URL包含submitted = true(或您选择的任何文本),请将后退按钮URL更改为results.html。
希望这是有道理的。
如果您仍然卡住,我可以为您输入代码