gpt4 book ai didi

jquery - 检测更改后的表单值——Firefox 用用户输入值替换,破坏了脏污检测

转载 作者:行者123 更新时间:2023-12-01 08:27:55 26 4
gpt4 key购买 nike

我正在为网络应用程序实现表单脏污检测。我感兴趣的“肮脏”是服务器的值与表单上显示的值。服务器运行 Django,我们的大部分脚本都在 jQuery 中。

我们为表单字段提供与服务器上的值相对应的正确默认值,例如

<input name="foo" type="text" value="this is the saved value" id="id_foo" />

标准答案是迭代表单输入并保存其初始值,以便稍后在加载时进行比较。

这在大多数情况下都有效,但 Firefox 有时会忽略提供的值并将其替换为用户最后的输入,从而打破了这一点。因此,例如:我们提供表单,用户修改它(“现在它很脏”),然后刷新; Firefox 会将该值替换为用户上次输入的值。

这会破坏检测脏度的脚本,因为它的初始值不是服务器提供的值,而是用户在刷新之前输入的值。此时脚本无法访问原始值。

其他开发者是如何解决这个问题的?现在,我提供了一个具有真实原始值的隐藏跨度,但感觉非常hacky:

<input name="foo" type="text" value="this is the saved value" id="id_foo" />
<span class="original-value" id="id_foo_orig">this is the saved value</span>

有没有办法在 Firefox 中禁用这种输入行为? (至少 IE 和 Chrome 不会这样做)我在这里错过了一些基本的东西吗?

谢谢,
罗伯特

最佳答案

向表单添加 autocomplete="off" 属性以禁用字段自动完成功能(如果可以的话)。这是文档 - https://developer.mozilla.org/en/How_to_Turn_Off_Form_Autocompletion

关于jquery - 检测更改后的表单值——Firefox 用用户输入值替换,破坏了脏污检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2308175/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com