如果输入框的内容发生了变化,并且没有按下按钮,我如何显示警告消息?

How can I show alert message if input box content is changed and button is not pressed?

本文关键字:何显示 按钮 消息 警告 显示 输入 发生了 变化 如果      更新时间:2023-09-26

我有一个文本区框显示笔记从db。此框数据保存使用以下submit按钮:

<button class="submit" id="save_note" value="save_note" onclick="edit_notebox(this,event);"><b>Save Note</b></button>

现在我试图显示警报消息,如果所有以下条件都被填满:

  1. 当用户点击框外
  2. 如果按钮未按下

如果以上3个条件为真或满足,那么我想显示警告消息。

因此,我使用以下代码,但不起作用: Js代码:
var is_clicked =  $("#save_note").val();
var previousValue = $("#project_notes").val();
$("#project_notes").blur(function(e) {
    var currentValue = $(this).val();
    if( currentValue != previousValue && is_clicked != 'save_note' ) {
         previousValue = currentValue;
         alert("Value changed!");
    }
});

如何根据以上3个条件获得警报消息?

您可以使用布尔变量执行以下操作:

Codepen

var is_clicked = false; 
var previousValue = $("#project_notes").val();
// Use mousedown instead of click so that it fires before the blur
$('.submit').on('mousedown', function(){
  is_clicked = true; // Click happened
});
$("#project_notes").blur(function(e) {
  var currentValue = $(this).val();
  if (currentValue != previousValue && !is_clicked) {
    previousValue = currentValue;
    alert("Value changed!");
  }
  is_clicked = false; // Reset to catch next button click
});