2
A
回答
3
這太基本/特定功能可能有自己的插件。
所有你需要做的是,如果存儲的任何元素改變時設置爲true一個布爾值:
var changed = false;
$(document).ready(function() {
$('.watch-for-changes').change(function() {
change();
});
window.onbeforeunload = function() {
if (hasChanged()) {
return "There are unsaved changes on the page.";
}
};
}
function change() {
changed = true;
}
// use this to programmatically change an input field
function changeValue(elField, value) {
$(elField).val(value);
change();
}
function hasChanged() {
return changed;
}
編輯:以前使用的onbeforeunload
是不正確的。有關其用法的更多詳細信息,請參閱this page。
1
無插件是必要的:
$('selector').change(function() { alert('I've changed!'); });
在這樣一個不同的是,它檢查是否一個框爲空或有默認的文本中它,你做一個動作之前。它不會被觸發「變化」。
0
實際上,它可能比其他答案中提到的稍微複雜一些,只是提交表單也會觸發事件。
事情改變了現在:有IS一個真正有用的jquery插件,正是你所要求的:are-you-sure。
你可以看到它是如何與他們的demo page。
相關問題
- 1. 警告:不能更改頭informati上 - 標題已經發出已
- 2. 警告:不能更改頭信息 - 頭已經發出已
- 3. Vaadin 7 - 更新textarea值已更改
- 4. 更改JS警報以顯示/隱藏jQuery警告div?
- 5. 警告:不能更改頭信息 - 頭已經發送(PHP)
- 6. 不能更改頭信息 - 已經被警告在WordPress
- 7. Ubuntu的SSH - - 警告:遠程主機標識已更改
- 8. 錯誤 - 警告:不能更改頭信息 - 已經
- 9. 警告:不能更改頭信息 - 已經
- 10. 自從警告:不能更改頭信息 - 頭已經發出已
- 11. JQuery DataTables警告
- 12. 更新警告
- 13. 已過時setLineBreakMode警告
- 14. 警告:EXEC()已禁用
- 15. 警告:UIAlertController已經出現
- 16. ConfigurationSettings.AppSettings已過時,警告
- 17. 警告:頁面已過期
- 18. MOJO perl已棄用警告
- 19. 更改jupyter筆記本警告語言
- 20. 警告:不能更改頭信息
- 21. [PHP]警告:不能更改頭信息
- 22. 未保存的更改警告彈出
- 23. 使用jquery更改點擊textarea內容
- 24. 如果一個textarea爲空或少於5個字符,則不顯示警告
- 25. 如果我做「git checkout」或「git pull」,讓GIT警告我關於composer.lock的更改
- 26. Jquery - 如果對textarea進行了更改,則無法提交表單
- 27. 警告:不能更改頭信息 - 頭已經發出(輸出開始
- 28. 未定義偏移和警告:不能更改頭信息 - 已經
- 29. 爲什麼要在C++中更改特定警告的警告級別?
- 30. 如果echo'd SQL表已被修改,則發出警報
我不認爲這就是他所指的。當您在「提問」或「您的答案」框中鍵入內容並嘗試離開或刷新頁面時,彈出確認對話框。 這是沒有任何形式的AJAX請求,可能只是檢查,看看這些領域是否是非空的。 – 2010-07-04 00:33:04
啊,謝謝,更新了最後一段。 – 2010-07-04 00:46:14