如果更改输入框内容且未按下按钮,如何显示警告消息?

时间:2016-08-17 03:07:31

标签: javascript jquery html

我有一个 textarea 框来显示db的注释。使用以下submit按钮保存此框数据:

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

现在,如果满足以下所有条件,我正在尝试显示警告消息:

  1. 当用户点击框外
  2. 如果现有内容已更改
  3. 如果未按下按钮
  4. 如果上述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个条件获取警告信息?

1 个答案:

答案 0 :(得分:1)

您可以使用布尔变量沿着这些行执行某些操作:

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

});