javascript - 在询问用户是否要离开之前检查 ASP 页面是否脏

标签 javascript jquery asp.net

我有一个 ASP.NET 表单,它有一堆用户输入、文本框、复选框等。我需要能够检查用户是否在没有保存的情况下对表单进行了编辑,如果是则提示卸载前。

一旦用户编辑其中一个文本框,我就会设置一个脏标志。如果他们将数据保存在表单上,​​那么我会重置标志。因此,只有在用户编辑但未保存时才应设置该标志。

然后我使用这个标志来决定是否提示用户“你确定要离开这个页面吗?”

代码片段:

var _isDirty = false;

    $(function () {
        try {
                $("#MainContent_txtSometextBox").change(function () {
                    _isDirty = true;
                });
            } catch (e) { }
        });

问题是我不想在每个控件上都设置它。是否可以在页面级别设置它?我认为这不会那么容易,因为我们在页面上也有自定义用户控件。

最佳答案

你可以传递一个不同的选择器

$("input, select, textarea").change(function () {
    _isDirty = true;
});

您可以根据需要扩展它。

如果需要限制,将其包裹在div中,然后find

$("#myForm").find("input, select, textarea").change(function () {
    _isDirty = true;
});

关于javascript - 在询问用户是否要离开之前检查 ASP 页面是否脏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10935129/

相关文章:

javascript - 如何将 jquery 应用于由 ajax 调用填充的标记

javascript - 如何获取滚动条内可见div的id

asp.net - 如何在asp.net mvc 3中禁用浏览器缓存?

asp.net - jQuery Ajax 到 asp.net asmx Web 服务抛出请求格式无效 : application/json

javascript - 如何自定义和验证 Google 文档表单(更简单的方法?)

javascript - ng-repeat 上的嵌入

javascript - 根据与 `<a>` 类名的比较,将类添加到 `<li>` 标签

ASP.Net 分层应用程序 - 在层之间共享实体数据模型

javascript - 覆盖 knockout 绑定(bind) : cannot apply bindings multiple times error

javascript - 如何重新分配变量并再次运行代码