0

この投稿に基づいて、ユーザーがテキストフィールドにデータを入力した場合、ページを離れる前にデータを保存するようユーザーに確認を求めています。

しかし、ページが読み込まれ、フォームIDが「Form1」の場合、以下のエラーが発生します

ここに画像の説明を入力

<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

2 に答える 2

4

on()jQuery バージョン 1.7 にメソッドが追加されました。

バージョン 1.4.1 を使用しているようです。jQuery を更新してみると、エラーが消えるはずです。

于 2012-08-31T21:43:18.420 に答える
0

セレクターが間違っています

$("form[id^='Form1']") $("#Form1") である必要があります

また、入力タグ以外にもある可能性があることを忘れないでください (たとえば、select と textarea)。

于 2012-09-01T04:17:08.673 に答える