Javascript 通过单击重置按钮恢复以前的输入值

Javascript 通过单击重置按钮恢复以前的输入值,javascript,html,forms,reset,restore,Javascript,Html,Forms,Reset,Restore,我正在制作一个表单,我添加了一个重置按钮,它应该允许用户转到他之前所做的更改。这个原理类似于ctrl+z命令。我可以使用它,但就我所见,Safari打开了上一个选项卡,这是没有帮助的 我认为一种可能的方法是保存旧值并与新值进行比较。但是我想重置上一个的值,而不是默认值 下面是我的代码: 函数restoreValue(){ var oldValue=document.getElementsByTagName('input'); var newValue=element.value; 如果(旧值=

我正在制作一个表单,我添加了一个重置按钮,它应该允许用户转到他之前所做的更改。这个原理类似于ctrl+z命令。我可以使用它,但就我所见,Safari打开了上一个选项卡,这是没有帮助的

我认为一种可能的方法是保存旧值并与新值进行比较。但是我想重置上一个的值,而不是默认值

下面是我的代码:

函数restoreValue(){
var oldValue=document.getElementsByTagName('input');
var newValue=element.value;
如果(旧值==新值)
{
newValue=document.getElementsByTagName('input');
旧值=新值;
}
...........................................
}
输入{
宽度:200px;
边界半径:5px;
边框:1px纯色灰色;
}
.强制性{
字体大小:粗体;
颜色:黑色;
}
.可选{
字体大小:正常;
颜色:黑色;
字体:斜体;
}
.警告{
边框:1px纯黄色;
宽度:200px;
}

姓氏
名字
别名名
提交
重置

getElementsByTagName
不会给出值,而是一个可以循环的元素数组。但我猜您是想选择字段并读取
属性。这不起作用,因为它的值始终是字段的当前值

您可以使用表单的
reset()
方法将所有值重置为初始值


但是,如果您想像撤消操作一样逐个恢复更改,则必须侦听更改(
input
事件将包括键入、剪切和粘贴),将每个更改存储在某个位置,并侦听ctrl+z(on
keydown
)以指定发生更改时存储的最后一个值。但浏览器已经为您完成了此操作。。。请解释这一点,以便更好地理解您。

getElementsByTagName
不会给出值,而是提供一个可以循环使用的元素数组。但我猜您是想选择字段并读取
属性。这不起作用,因为它的值始终是字段的当前值

您可以使用表单的
reset()
方法将所有值重置为初始值


但是,如果您想像撤消操作一样逐个恢复更改,则必须侦听更改(
input
事件将包括键入、剪切和粘贴),将每个更改存储在某个位置,并侦听ctrl+z(on
keydown
)以指定发生更改时存储的最后一个值。但浏览器已经为您完成了此操作。。。为了更好地理解您,请解释一下这一点。

我将使用一个基本的状态管理策略和一个去盎司功能来恢复捕获的值


我会使用一个基本的状态管理策略和一个去抖动功能来恢复捕获的值


是否尝试了history.back()方法?()返回一个HTMLCollection,而不是单个值,因此您肯定无法将其与以前的值进行比较-您必须使用
.forEach
.filter
对集合进行迭代,然后提取
.value
。另外,您在第3行阅读的
元素是什么?您是否考虑过使用类似
localStorage
?它在主流浏览器中得到了很好的支持,易于访问,易于清理,并且可能适合以下情况:Hi@markp!我已经搜索了你的例子,似乎很有趣!谢谢你的支持!嗨@Dexter0015!我认为您的方法将获得上一个浏览器的关闭选项卡。这是否只适用于输入文本框?是否尝试了history.back()方法?()返回一个HTMLCollection,而不是单个值,因此您肯定无法将其与以前的值进行比较-您必须使用
.forEach
.filter
对集合进行迭代,然后提取
.value
。另外,您在第3行阅读的
元素是什么?您是否考虑过使用类似
localStorage
?它在主流浏览器中得到了很好的支持,易于访问,易于清理,并且可能适合以下情况:Hi@markp!我已经搜索了你的例子,似乎很有趣!谢谢你的支持!嗨@Dexter0015!我认为您的方法将获得上一个浏览器的关闭选项卡。这可能只对输入文本框执行吗?嗨,布莱恩。我想我理解你的意思,但我想回到输入字段的最后一个值,而不是恢复到初始值。这就是我提到的策略的作用。它返回到上一个值。棘手的一点我