|
|
1
128
在纯JavaScript中,这不是一个简单的任务,但jQuery使其非常容易做到:
然后在保存之前,您可以检查它是否被更改:
在上面的示例中,表单的ID等于“myform”。 如果您在许多形式中需要它,您可以很容易地将其转换为插件:
然后你可以简单地说:
并检查表单是否已更改:
|
|
|
2
32
如果jquery是不可能的。在谷歌上的一个快速搜索发现了MD5和SHA1哈希算法的javascript实现。如果需要,可以连接所有表单输入并散列它们,然后将该值存储在内存中。当用户完成后。再次连接所有值和哈希。比较两个哈希值。如果它们相同,则用户不会更改任何表单字段。如果它们是不同的,则某些内容已被编辑,您需要调用持久性代码。 |
|
|
3
9
我不确定你的问题是否正确,但是AddEventListener呢?如果你不太在乎IE8的支持,这应该是好的。以下代码对我有效:
|
|
|
4
4
以下是我如何做到的(不使用jquery)。 在我的例子中,我希望一个特定的表单元素不被计算在内,因为触发检查的是这个元素,所以总是会发生变化。异常元素名为“reporting_period”,并在函数“hasformChanged()”中硬编码。 要进行测试,请使元素调用函数“changeReportingPeriod()”,您可能需要将其命名为其他名称。 重要提示:当值设置为其原始值时(通常在页面加载时,但在我的情况下不是这样),必须调用setInitialValues()。 注意:我并不认为这是一个优雅的解决方案,事实上我不相信优雅的JavaScript解决方案。我个人在javascript中的重点是可读性,而不是结构上的优雅(好像在javascript中是可能的)。在编写javascript时,我根本不关心文件大小,因为这就是gzip的目的,并且试图编写更紧凑的javascript代码总是会导致无法忍受的维护问题。我不会道歉,也不会后悔,也不会拒绝辩论。它是javascript。对不起,我必须把这一点说清楚,以便说服自己,我应该费心发帖。快乐吧!:)
|
|
|
5
3
实现这一点的另一种方法是序列化表单:
|
|
|
6
3
无需jquery,就可以在本机javascript中轻松检测到表单更改:
对于不支持较新箭头/数组函数的较旧浏览器:
|
|
7
0
下面是本机javascript中的polyfill方法演示,它使用
|
|
|
code-geek · Jquery根据单选按钮选择隐藏或显示文本字段 1 年前 |
|
|
Jamie · 在CSS链接的文件名中添加Jinja占位符 1 年前 |
|
ptownbro · 重叠分区标签,同时保持以下所有分区和内容就位 1 年前 |
|
|
john Rizzo · 按钮背景颜色、悬停和活动状态存在问题 1 年前 |