2012-01-12 73 views
0

我有这个代码警告用户关于未保存的更改,它在我正在工作的网站的母版页中。我有一个搜索页面,不允许用户保存任何内容,并触发未保存的更改警告。有没有办法禁用这个内容页面的代码?禁用特定内容页面的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

一个告诫:如果在母版页中定义了'form',那么所有页面将具有相同的形式。 – Leon 2012-01-12 19:42:10

0

给该网页的唯一标识符,无论是在body或一些元素是唯一的那个页面classid

例如:

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的首位添加ContentPlaceHolder,这样您就可以在这些内容页面上轻松添加所需的脚本资源。通过这种方式,您可以在此内容页面上添加或不添加jquery脚本。

祝你好运!

相关问题