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元素相关联考虑到这样的数据,所以删除它们,你会删除数据,但它是非常干净的,在这种情况下,灵活的方法。

更多: