通过ajax刷新数据时覆盖表单“重置”行为

我依靠表单的“重置”行为来取消编辑,我面临的问题是,一旦发布数据通过ajax更新,重置仍然会恢复为原始加载页面的数据。

所以基本上我需要做的是“重置”“重置”function。 合理?

试试这个:

$("#yourForm").bind("reset", function() { // reset the form manually with the "newest" data return false; }); 

在这种情况下,您将必须存储新数据(您从Ajax回调中获得的数据)。 然后,当用户重置表单时,您手动用该数据填充表单元素。

还有一种本地方式。

form-elements具有存储初始值的属性。

要做到这一点,以下将是有趣的:

defaultValue (text-input,textarea)
defaultChecked (收音机,复选框)
defaultSelected (选项)

那么如何为reset()设置一个新的初始点:遍历元素并将当前属性(值,选中,选中)分配给这些默认属性。

我不认为这是可能的 – 重置总是恢复为HTML代码中提供的值。 我想最简单的方法是将AJAX的数据放在某处(即隐藏字段)并提供自定义重置按钮,将按钮(从隐藏的输入或存储它们的任何位置)加载到表单中。