2012-04-18 46 views
0

假設我有一個對話框,其中包含一些代表某些選項的複選框,單選按鈕,文本輸入等。我點擊頁面上的某個鏈接打開這個對話框。我希望能夠保存選項以及通過單擊對話框內的保存和取消按鈕取消。管理方法取消按鈕

處理保存按鈕看起來很簡單 - 我只是通過控件並獲取當前值。我想知道的是我應該如何更好地控制「取消」按鈕。所以,我改變了對話框中的一些選項,然後改變主意並點擊取消按鈕。很顯然,我需要在更改之前將所有控件返回到它們的狀態。

我該如何做得更好?我應該將對話加載的當前狀態保存到某些隱藏的字段或屬性中嗎?請分享你的想法。

回答

0

打開對話框時,我會做的當前狀態的副本,在對話框中修改副本,當用戶按下一個按鈕,用新狀態替換當前狀態或者乾脆刪除相應的副本。

0

你可以只使用內置的復位形式返回值設置爲默認,然後處理保存,這會在狀態時基本上是恢復到原來的值更改前。

+0

唯一的問題我可以用這個看到的是編輯 - >保存 - >編輯 - >取消工作流程。它會一直重置爲原始的,不是? – mayhewr 2012-04-18 21:44:23

+0

如果他們每次點擊編輯它重新加載與他們的唯一信息作爲價值的頁面,那麼它會重置爲他們的信息。如果頁面不會重新加載,那麼重置將一直回到開始,就好像它們從未編輯/保存過一樣。 – user1289347 2012-04-18 21:56:32

+0

是的,如果他發佈在保存上,那是有效的。取決於應用可以很好地工作。我想象這是所有的客戶端編輯。 – mayhewr 2012-04-18 22:10:49

0

您可以將當前保存的狀態保存在data屬性中。在HTML中,這樣的屬性看起來像data-something="some value",但您可以簡單地通過JavaScript訪問它。例如。 jQuery有它的快捷方式,看起來像jQuery(element_selector).data('something')。您也可以使用JavaScript來設置它,如jQuery(element_selector).data('something', 'some other value')

使用該機制,您可以初始設置這些值,並用每次保存覆蓋它們。如果有人點擊「取消」,您只需將控件/表單元素恢復到與您存儲爲與該元素關聯的數據的值相匹配的狀態即可。

只要保持在與DOM元素相關聯考慮到這樣的數據,所以刪除它們,你會刪除數據,但它是非常乾淨的,在這種情況下,靈活的方法。

更多: