gpt4 book ai didi

javascript - 如果用户尚未保存表单,如何测试用户是否对表单进行了任何更改

转载 作者:行者123 更新时间:2023-11-30 09:01:59 26 4
gpt4 key购买 nike

在发布问题时基本上与 stackoverflow 的功能相同,如果您开始撰写帖子,然后尝试重新加载页面。您会收到一条 javascript 警告框警告消息。

我了解如何检查表单是否已更改,但下一步该怎么做。

I.E:离开页面时我如何检查这个,在这里你会看到“这个页面要求你确认你想离开 - 你输入的数据可能不会被保存。”?

编辑:在此处找到另一个问题的正确答案 https://stackoverflow.com/a/2366024/560287

最佳答案

我非常确定,如果您搜索“jQuery 检测表单更改插件”,您会发现比我将要编写的这个半伪代码更有用的东西:

formChanged = function(form) {
form.find('input[type="text"], textarea').each(function(elem) {
if (elem.defaultValue != elem.value) {
return true;
}
});
// repeat for checkbox/radio: .defaultChecked
// repeat for ddl/listbox: .defaultSelected
return false;
}

用法:

if (formChanged($('form')) { // do something }

请注意,这是为了检测原始渲染值的变化。例如,如果一个文本框有一个值=“x”,并且用户将其更改为“y”,然后将其更改回“x”;这会将其检测为没有变化。

如果你不关心这个场景,你可以这样做:

window.formChanged = false;

$(':input').change(function() {
window.formChanged = true;
});

然后您可以检查该值。

关于javascript - 如果用户尚未保存表单,如何测试用户是否对表单进行了任何更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8498074/

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