如何在表单上单击提交后“返回”上一页?

时间:2017-04-03 12:42:01

标签: javascript jquery html grails

我正在开展关于Grails的项目。

我有一个过滤页面(Filters.html),我可以使用各种参数执行搜索。执行搜索后,将显示结果。 (results.html) 在结果页面中,它有一个更新记录的链接。 (update.html) 点击更新链接后,它将转到更新html页面,在该页面中有一个后退按钮,还有一个表单,以便可以更新和保存详细信息。

使用window.history.go(-1);和window.history.back()它没有任何问题进入后页。但是,在更新表单详细信息时会出现问题。提交表单时,它会进入同一更新页面并显示记录已更新。之后单击BACK按钮时,它将转到同一页面。但是没有回到结果页面。如果我单击两次BACK按钮,它将返回结果页面。

我无法在更新页面中保存搜索参数,因为有几种方法可以转到update.html。 有什么建议吗?

3 个答案:

答案 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。

希望这是有道理的。

如果您仍然卡住,我可以为您输入代码