В основном у меня есть сетка с выпадающими списками. Правила таковы:
1. запрашивать у пользователей изменения, которые они вносят в откаты gridview, когда:
а) пользователь нажимает на пейджинговую ссылку
б) нажмите на другие ссылки, чтобы перейти от страницы
в) закрыть браузер
2. не запрашивать пользователя, когда он нажимает на кнопку сохранения
Я нашел код здесь http://www.codeproject.com/KB/scripting/WebFormModifedPrompt.aspx
и сделал некоторые изменения:
<script type="text/javascript" >
$().ready(function () {
InitialDictionary = new Array();
LoadCurrentValues(InitialDictionary);
function Check() {
if (!CompareDictionaries(InitialDictionary)) {
wind.onbeforeunload = null;
return confirm('Form is modified, Do you want to continue');
}
}
$("a").click(Check)
$(window).bind('beforeunload', function () {
if (!CompareDictionaries(InitialDictionary)) {
return "Form is modified, Do you want to continue";
}
})
$('form').submit(function () { window.onbeforeunload = null; })
})
</script>
У меня проблемы с этим кодом. Когда я изменил раскрывающийся список и щелкнул ссылку подкачки, он сначала показывает всплывающее окно для функции щелчка, а затем дважды вызывает всплывающие окна для события beforeunload. Как мне решить эту проблему?