2010-04-27 88 views
0

我用這個片段,以防止用戶意外地從編輯頁面導航離開:如何檢測的textarea或輸入類型=「文本」的編輯?

var warning = false; 
window.onbeforeunload = function() { 
    if (warning) { 
    return ''; 
    } 
} 

現在我想設置的變量警告是正確的,如果任何textarea的或輸入型=「文本」有我想使用onkeyup事件,如:

document.getElementById('textarea_id').onkeyup = function() { 
    warning = true; 
} 

但它不工作。不太想在這個上使用jQuery。任何見解?

更新:

更改爲此:

var warning = false; 
window.onbeforeunload = function() { 
    if (warning) { 
    return 'You have unsaved changes.'; 
    } 
} 
document.getElementById('textarea_id').onkeyup = function() { 
    warning = true; 
} 

然而,它仍然沒有工作。

順便說一句,它把在該頁面的。其他地方沒有javascript。

+2

以何種方式它不工作? – Matchu 2010-04-27 02:17:42

+0

謝謝,我把的document.getElementById()部分在頁面的末端,它的工作現在。 – 2010-04-27 02:48:41

回答

4

onbeforeunload事件的返回值,如果它不等同於false時才使用。

變化return '';

return 'You have unsaved changes.'; 
相關問題