我即将重写几年前写的一个脚本,它会检查表单是否有任何更改,以便显示“你想保存更改吗?”等消息......
我的问题是,很简单,我应该将原始值存储在隐藏的表单字段或Javascript对象中吗?哪种方法更有效?
以下是使用隐藏字段方法的示例:
<input type="text" name="first_name" id="first_name" value="John Smith" />
<input type="hidden" name="first_name_old" id="first_name_old" value="John Smith" />
javascript对象替代:
var old_values = {
'first_name': 'John Smith'
}
答案 0 :(得分:1)
在JavaScript对象中存储值更加透明和可维护,但意味着更多的代码结构,而不是存储在隐藏字段或数据属性中。 如果您正在构建一个更大的前端应用程序,那么在HTML中存储所有类型的值很快就会变得一团糟,需要大量调用来修改DOM。
如果有效意味着速度,你应该制定一个基准,哪一个更快。但是如果你没有更新这个值,通常这个微优化可以忽略不计,它会使代码的可维护性降低。
答案 1 :(得分:0)
您可以将其存储为同一元素的data属性。
很抱歉误会,您可以像这样存储
<input type="text" name="first_name" id="first_name" value="John Smith" data-old_value="John Smith" />
然后
$('#first_name').data('old_value');
将为您提供旧值