Проблема с окном оповещения javascript sweetalert

Я использую 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, кто может мне помочь?


person sridhar    schedule 09.01.2016    source источник
comment
Вы уверены, что a и b действительно пусты? (т. е. не строка пробела). Если все три пусты, этот код должен предупреждать, что a пуст, и не показывать никаких других сообщений из-за return false в выражении if.   -  person Useless Code    schedule 10.01.2016


Ответы (1)


Я только что бегло просмотрел исходный код, но думаю, что поле Sweet Alert переопределено. Вы используете 3 оператора if, но не if else. Таким образом, когда выполняется второе условие, первое поле ошибки переопределяется, а когда выполняется третье условие, второе поле ошибки переопределяется.

Поэтому, если сладкое предупреждение поддерживает только одно окно ошибки за раз, вам нужно будет настроить условия так, чтобы самая важная ошибка была последней.

person clean_coding    schedule 09.01.2016
comment
Когда ряд условий должен оцениваться независимо от других значений, тогда if else if может не понадобиться. Как обстоят дела? - person sridhar; 09.01.2016
comment
На самом деле ваш исходный код, вероятно, подходит. Просто кажется, что приятное оповещение переопределит оповещения, поэтому вы можете показать пользователю только одно оповещение. В своем коде вы пытаетесь показать пользователю 3 предупреждения, и оно принимает последнее. Имеет ли это смысл? - person clean_coding; 09.01.2016