如何检测textarea或输入type =“text”编辑?

时间:2010-04-27 02:16:46

标签: javascript

我使用此代码段来防止用户意外导航离开编辑页面:

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

现在我想将变量warning设置为true,如果修改了textarea或input type =“text”中的任何一个,我想使用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。

1 个答案:

答案 0 :(得分:4)

onbeforeunload事件的返回值仅在不等同于false的情况下使用。

return '';更改为

return 'You have unsaved changes.';