【问题标题】:Click on button first time show alert, click second time execute code单击按钮第一次显示警报,单击第二次执行代码
【发布时间】:2019-04-11 18:19:30
【问题描述】:

我想向用户显示,当他们第一次单击按钮时,当在日期字段中选择了一个位于当前日期之前的值时会发出警报。当他们有充分的理由坚持这个选择时,我希望他们给第二次机会点击同一个按钮,然后必须提交值。

点击事件在函数中定义:

$("#edit_date_btn").click(function(){
 // do something and save
}

在另一个函数中处理比较。基本代码是:

function edit_date_compare() {
....
if(usersDate < today)
 { //show alert
  return false; // needed for the first click so the input is not submitted
 }

我尝试了几个选项,例如计算点击功能(在第二次点击时'return true;'而不是'return false;'),但似乎很难处理这种情况。任何想法如何使这个成功?可以使用 Javascript 或 jQuery。

【问题讨论】:

  • 你试过使用标志吗?就像默认情况下保持它为假一样,在单击按钮时,如果标志为假,请执行比较操作。比较操作后,如果为假,则将标志设置为真。

标签: javascript jquery click


【解决方案1】:

count on the click function 让您有正确的想法。我怀疑您可能难以实施它。您需要一个单独的变量来跟踪点击次数。这是一个有效的小提琴:http://jsfiddle.net/zwmquxaL/

$(document).ready(function () {
    var clickCount = 0;

  $("#btnSave").click(function () {
    if (clickCount > 0) {
      AlertSave();
    } else {
        AlertFirst();
      clickCount++;
    }
  });
});

function AlertSave() {
  alert("Some code has been executed!");
}

function AlertFirst() {
  alert("Are you sure you want to perform this operation?");
}

【讨论】:

  • 谢谢。我走在正确的轨道上。在更好地了解实施和您的回答后,我的问题就解决了。此外,我还添加了一个未设置的变量,以防用户在第一次操作后立即以相同的方式操作不止一次。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-27
  • 1970-01-01
  • 1970-01-01
  • 2019-11-05
相关资源
最近更新 更多