如何在离开页面之前提醒用户他们没有保存。忽略回发

时间:2016-09-13 20:38:40

标签: javascript c# jquery asp.net

要求:我试图在用户离开页面时提醒用户他们的更改将会丢失。

问题:我正在使用webforms,我看到的唯一提醒用户的解决方案是使用javascript的'window.onbeforeunload'。如果每次发生回发时它都不会触发,那么这将很有效。

页面描述:这是一个页面继承在母版页中。母版页只是一个带有几个超链接的导航栏。内容页面由许多文本框和一些下拉选择框组成。

问题:如何确定是否通过回发触发了javascript事件window.onbeforeunload(是否为脏)?

谢谢你们,这是我提出的第一个问题。希望我足够描述。由于公司政策,我不被允许共享所有代码。任何问题我都乐意回答。

1 个答案:

答案 0 :(得分:0)

为此我们需要检查是否有任何输入字段或表格被编辑。

实施例: function isDirty(form){

for (var i = 0; i < form.elements.length; i++) {
    var element = form.elements[i];
    var type = element.type;
 switch (type) {

        case "checkbox":
        case "radio":{
            if (element.checked != element.defaultChecked) {
                return true;
            }
            break;
        }
      }

}