2012-03-30 45 views
0

我正在使用jQuery編寫一個非常笨重的Javascript應用程序。我在執行AJAX表單帖子時遇到的其中一個問題。最初,表單是從服務器端模板引擎呈現的,這些表單具有默認值集。該表單有兩個選項,SAVE和CANCEL(恢復)。當用戶點擊「保存」時,表單數據通過jQuery發送到服務器。當用戶點擊「取消」時,在表單上調用Javascript的reset()函數。重置AJAX表格

真正的問題發生在我輸入/更新窗體上的字段然後保存它。如果我然後嘗試再次編輯表單並單擊「取消」,表單將恢復爲原始狀態(初始頁面呈現時的表單狀態),而不是最後一次AJAX提交。

似乎Javascript的reset()函數正在使用在頁面呈現時設置的「值」,「已檢查」等屬性。如果是這種情況,更新表單值的最佳方法是什麼,以便reset()方法將恢復到通過AJAX提交表單的最後一點?

回答

2

您需要「重新繪製」表格,以便其「初始值」是該AJAX提交的「初始值」。表單重置取決於元素在頁面上繪製時的值。 here's a demo來展示概念

只需重新生成該表單,並使用模板和成功的值。您可以使用JS模板引擎(如鬍鬚)即時執行此操作,也可以在本地緩存模板,以便您不會執行額外的HTTP請求