Javascript 如果文本框包含文本,则不允许用户从页面导航

Javascript 如果文本框包含文本,则不允许用户从页面导航,javascript,Javascript,我正在使用这个JS代码: window.onbeforeunload = function() { return "Any changes you have made WILL be lost!"; } 如果用户试图离开页面,则显示警报窗口 我只希望在文本区域中有文本时显示警报 我试过: window.onbeforeunload = function() { var update_text = document.getElementById('ticket_update').

我正在使用这个JS代码:

window.onbeforeunload = function() {
    return "Any changes you have made WILL be lost!";
}
如果用户试图离开页面,则显示警报窗口

我只希望在文本区域中有文本时显示警报

我试过:

window.onbeforeunload = function() {
    var update_text = document.getElementById('ticket_update').value; 
    if(!update_text == '') {
        return "Any changes you have made WILL be lost!";
    }
}
但是,如果文本区域为空或不为空,则根本不显示警报

问题在于

if(!update_text == '')
根据操作顺序,您的代码如下所示

if( (!update_text) == '')
因此,当有一个值时,它是空的
!(“”)
为true,因此您的检查为
true=''

这是必须的

if(update_text !== '')


对我来说似乎工作得很好,但如果没有值,为什么要要求保存更改?如果实际上有空字符串以外的内容(如
!='
),那么为什么不要求保存作品在chromesee我的编辑,错过了!好吧,这就是你的问题,你在否定更新文本,然后问它是否等于“”。那永远不会发生。必须是=以您的操作顺序为例,如果(!(update_text==''),您不会
是否正确?如果更新文本为空或值为空或其中是否有空空格,则始终显示警报?如果它有空格,你就必须删掉它。啊,如果你使用的是长度,你不需要
,这是一个输入错误。仍然是一样的-我的textarea看起来像一个PHP变量,我在页面下方回显该变量以显示文本区域
console.log(“Value:”,escape(update_text));log(“长度:”,update_text.Length)显示什么?
if(update_text.length)