离开页面前请求保存?

时间:2012-08-31 21:40:44

标签: javascript jquery asp.net

基于this post我要求用户确认保存数据 在离开页面之前,如果用户在文本字段中输入任何数据。

但是当页面加载并且我的表单ID为“Form1”

时,我收到以下错误

enter image description here

<script type="text/javascript" language="javascript">
     window.onload = function (e) {
        var form_has_been_modified = 0;
          $("form[id^='Form1']").on("change keyup", ":input", function () {
          form_has_been_modified = 1;
        })
        };
     window.onbeforeunload = function (e) {
           if (!form_has_been_modified) {
             return;
        }
        var message = "Do you want to save the data before leave the page?";
        var e = e || window.event;

         // For IE and Firefox prior to version 4
        if (e) {
              e.returnValue = message;
        }
        // For Safari
         return message;
             };


        </script>

如何解决这个问题?

已更新:在HTML源代码中显示<form name="aspnetForm" method="post" action="EditMember.aspx?Id=3664653" onsubmit="javascript:return WebForm_OnSubmit();" id="aspnetForm" enctype="multipart/form-data">,如何在上面的代码中使用此表单?

2 个答案:

答案 0 :(得分:4)

方法on()已添加到jQuery 1.7版。

您似乎正在使用1.4.1版。尝试更新jQuery,错误应该消失。

答案 1 :(得分:0)

您的选择器错误

$(“form [id ^ ='Form1']”)应为$(“#Form1”)

另外不要忘记可能还有更多的输入标签(例如select和textarea)