【问题标题】:Trouble with javascript sweetalert alertboxjavascript sweetalert alertbox 出现问题
【发布时间】:2016-01-09 08:46:11
【问题描述】:

我正在使用 sweetalert (http://t4t5.github.io/sweetalert/) 来弹出警报消息,而不是使用标准的 javascript 警报框。我已经安装了必要的库。它仅在某些条件下起作用,但在其他条件下不会出现。这段代码:

if (document.getElementById('a').value == "") {
    swal("Error","The value is empty.");
    return false;
} else {
..
..
}

按预期工作正常。但是,如果我这样编码:

if (document.getElementById('a').value == "") {
    swal("Error","The value of A is empty.");
    return false;
}
if (document.getElementById('b').value == "") {
    swal("Error","The value of B is empty.");
    return false;
} 
if (document.getElementById('c').value == "") {
    swal("Error","The value of C is empty.");
    return false;
}

即使所有值都为空,也只会弹出最后一条消息 (C)。有谁有过sweetalert的经验可以帮助我吗?

【问题讨论】:

  • 你确定ab 都是空的吗? (即不是一串空白)如果这三个都是空的,那么代码应该提醒a 是空的并且由于if 语句中的return false 而不会显示任何其他消息。

标签: javascript sweetalert


【解决方案1】:

我刚刚简单地检查了源代码,但我的猜测是 Sweet Alert 框已被覆盖。您正在使用 3x if 语句,但没有使用 if else。所以当第二个条件被满足时,第一个错误框被覆盖,当第三个条件被满足时,第二个错误框被覆盖。

因此,如果 sweet alert 一次只支持一个错误框,则您需要安排条件,以便最重要的错误在最后。

【讨论】:

  • 当必须评估一系列条件而不考虑其他值时,则可能不需要 if else if。有什么办法?
  • 实际上您的原始代码可能是要走的路。似乎甜蜜警报会覆盖警报,因此您只能向用户显示一个警报。在您的代码中,您尝试向用户显示 3 个警报,并且它采用最后一个。这有意义吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-02-28
  • 1970-01-01
  • 2018-11-30
  • 2022-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多