2012-08-31 38 views
0

基於​​3210如果用戶在文本框中輸入任何數據,我要求用戶確認在離開頁面之前保存數據 。在離開頁面之前要求保存嗎?

,但我得到以下錯誤時的頁面加載和我的表單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">,如何在上面的代碼中使用這個表單?

回答

4

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

看來您使用的是版本1.4.1。嘗試更新jQuery,錯誤應該消失。

+0

我將1.8.1版本添加到母版頁並且母版頁表單標識爲「Form1」,並將其移動到腳本所需的子頁面上方。我仍然得到相同的錯誤。 – James123

0

你的選擇是錯誤的

$( 「形式[ID^= 'Form1的']」)應該是$( ​​「#Form1的」)

也不要忘記有可能是,不只是輸入標籤(例如select和textarea)

相關問題