2011-03-05 133 views
0

我有一個部分顯示一個頁面的表單。 當我提交表單時,我只想讓控制器執行其操作並返回頁面而不呈現任何內容。我只想顯示成功或錯誤的閃光消息,僅此而已。但是控制器默認嘗試渲染一個新頁面。我該如何避免這種行爲?不渲染!

回答

2

要做你想做的事,只能使用帶有JavaScript(AJAX)的異步HTTP請求。 因此,您發佈窗體字段的值並更新結果的閃存區域。 您可以使用jQuery在Ajax請求幫助:

<Edited> 

如果你沒有在你的頁面中的閃存區域,你可以創建它把一個div元素在頂部或你的頁面(或任何你想要的其他地方)。 然後在按鈕的onclick事件,你把這個:

<input type=button onclick="$.post('/controller/action/update', $('#testform').serialize(), function success(data, textStatus, jqXHR){$.('#flash').html(data)})"> 

這個函數形式的數據發送到服務器,並返回時調用回調函數(成功)。然後您只需要使用返回的數據更新Flash內容。

+0

我正在使用jquery,但我不知道如何顯示一個flash消息。 – Joe 2011-03-05 13:10:50