2010-04-27 91 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.'; 
相关问题