想要在Volomike優秀的jQuery代碼上稍微擴展。因此,通過這種方式,我們有一個非常非常酷和優雅的機制,通過在保存之前從更新的數據導航來實現防止無意中數據丟失的目標 - 即,更新的頁面上的字段,然後單擊瀏覽器中的按鈕,鏈接或甚至後退按鈕,然後單擊保存按鈕。
您需要做的唯一事情就是向所有控件(特別是保存按鈕)添加一個「noWarn」類標籤,該標籤將回發到網站,保存或不刪除任何更新的數據。
如果控件導致頁面丟失數據,即。導航到下一頁或清除數據 - 您無需執行任何操作,因爲腳本會自動顯示警告消息。
太棒了!幹得好Volvolike!
只需擁有jQuery代碼如下:
$(document).ready(function() {
//----------------------------------------------------------------------
// Don't allow us to navigate away from a page on which we're changed
// values on any control without a warning message. Need to class our
// save buttons, links, etc so they can do a save without the message -
// ie. CssClass="noWarn"
//----------------------------------------------------------------------
$('input:text,input:checkbox,input:radio,textarea,select').one('change', function() {
$('BODY').attr('onbeforeunload',
"return 'Leaving this page will cause any unsaved data to be lost.';");
});
$('.noWarn').click(function() { $('BODY').removeAttr('onbeforeunload'); });
});
感謝所有的樣本......雖然我仍然在如何處理不陷阱回傳和處理一些Ajax面板的問題,但我仍然在這裏工作。 – 2008-10-09 03:24:32