2017-04-03 150 views
0

我正在開發一個關於grails的項目。如何在提交後點擊表單上的「返回」到上一頁?

我有一個篩選器頁面(Filters.html),我可以用各種參數執行搜索。搜索完成後,結果將顯示。 (results.html) 在結果頁面中,它有一個更新記錄的鏈接。 (update.html) 一旦點擊更新鏈接,它將進入更新html頁面,在該頁面中有一個後退按鈕還有一個表單,以便可以更新和保存詳細信息。

With window.history.go(-1);和window.history.back()它沒有任何問題進入後臺頁面。但是當表格細節被更新時,問題就出現了。表單提交後,它會進入相同的更新頁面,並顯示記錄已更新。之後當點擊BACK按鈕時,它會進入同一頁面。但不回到結果頁面。如果我點擊後退按鈕兩次,它將返回到結果頁面。

我不能保存更新頁面中的搜索參數,因爲有幾種方法可以進入update.html。 有什麼建議嗎?

+0

你已經嘗試過history.go(-1),返回假的? 。如:Go back

+1

回答

0

如何創建一個名爲numUpdates(任何)的變量。在表單更新時增加變量,並且讓「GO BACK」按鈕調用window.history.go(-1 * numUpdates)。

0

變化的形式提交給頁面的URL,添加一個參數到最後

如update.html?提交=真正

然後創建一個if語句,如果URL包含提交= true(或您選擇的任何文本),將後退按鈕URL更改爲results.html。

希望這是有道理的。

如果你還停留,我最多可以輸入代碼爲您

1

而不是重新呈現更新頁面更新成功後,你可以重定向到結果視圖。

update() { 
    // do the update 
    redirect(action: 'results') 
} 

或者,而不是有一個返回按鈕,有一個按鈕,直接將您的結果視圖:

<g:link action="results"><button type="button" value="Results">Results</button></g:link> 
+0

我無法重定向到結果頁面,因爲還有其他幾種方法可以進入更新頁面。另外,當重定向到搜索頁面時,它必須顯示選定的過濾器及其結果。 –

+0

在這種情況下,您可以將更新表單中搜索的參數存儲爲隱藏字段,然後將它們添加到g:link中的參數中 –

相關問題