若文本框中包含文本,则不允许用户离开页面

do not allow user to navigate away from page if text box contains text

本文关键字:文本 用户 离开 不允许 包含      更新时间:2023-09-26

我正在使用这个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 == ''

它需要

if(update_text !== '')

JSFiddle

if(update_text.length)

JSFiddle

相关文章: