2012-01-12 12 views
0

保存していない変更についてユーザーに警告するこのコードは、私が作業しているサイトのMasterPageにあります。ユーザーが何も保存できない検索ページがあり、保存されていない変更の警告が表示されます。この1つのコンテンツページのコードを無効にする方法はありますか?特定のコンテンツページのmasterpageでjqueryを無効にしますか?

var _changesMade = false; 
$(document).ready(function() { 

    $('form').bind($.browser.msie ? 'propertychange' : 'change', function() { 
     _changesMade = true; 
    }); 

    $(window).bind('beforeunload', function() { 
     if (_changesMade) 
      return 'There are unsaved changes which will be lost if you continue.'; 
    }); 
}); 

答えて

1

あなたはnot methodを使用して検索フォームを除外することができます。

$('form').not('#searchForm').bind($.browser.msie ? 'propertychange' : 'change', function() { 
    _changesMade = true; 
}); 

検索フォームにID searchFormを持っていることを考えます。

+0

警告:フォームがマスターページで定義されている場合、すべてのページは同じフォームになります。 – Leon

0

は、それがそのページに固有のbodyまたはいくつかの要素でclassまたはidのかどうか、そのページに一意の識別子を与えます。例えば

HTML

<body class="my_content_page" id="my_content_page"> 

JS

if(!$('body').is('.my_content_page')) { 
    //your code 
} 

又は

if(!$('body').is('#my_content_page')) { 
    //your code 
} 

または任意の無数の方法:hasClass()$('selector').lengthなど

0

MasterPageのヘッドに追加すると、必要なスクリプトリソースを簡単にコンテンツページに追加できます。この方法で、このコンテンツページにjqueryスクリプトを追加するかどうかを指定できます。

幸運を祈る!

関連する問題