У меня есть форма с некоторыми проверками (jQuery). Они отображаются (сообщения об ошибках) одно за другим, если они пусты, но я хочу отобразить все соответствующие сообщения об ошибках, поля которых пусты.
Вот код:
$("#registrationForm").submit(function() {
if ($("#familyId").val() == "0") {
$("#imgerror").text("");
$("#err").text("Please select family");
$("#familyId").focus();
$('html, body').animate({
scrollTop: $("#top").offset().top
}, 500);
return false;
}
if ($("#occupationId").val() == "0") {
$("#imgerror").text("");
$("#err").text("Please select occupation");
$("#occupationId").focus();
$('html, body').animate({
scrollTop: $("#top").offset().top
}, 500);
return false;
}
if ($("#stateId,#pstateId,#cstateId,#wstateId").val() == "") {
$("#imgerror").text("");
$("#err").text("Please select state");
$("#stateId").focus();
$('html, body').animate({
scrollTop: $("#top").offset().top
}, 500);
return false;
}
if ($("#caste").val() == "") {
$("#imgerror").text("");
$("#err").text("Please select caste");
$("#caste").focus();
$('html, body').animate({
scrollTop: $("#top").offset().top
}, 500);
return false;
}
if ($("#code").val() == "") {
$("#imgerror").text("");
$("#err").text("Please enter code");
$("#code").focus();
return false;
}
if ($("#pname").val() == "") {
$("#imgerror").text("");
$("#err").text("Please enter name");
$("#pname").focus();
$('html, body').animate({
scrollTop: $("#top").offset().top
}, 500);
return false;
}
});
Заранее спасибо.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вначале установите
msg = ""
Если какие-либо проверки не пройдут, соберите соответствующее сообщение об ошибке.
msg += <your message>
В конце проверьте, есть ли msg === "", а затем отправьте свою форму.
Если сообщение не пустое, отобразите сообщение, используя
$("#err").text(msg)
Теперь, когда вы полностью изменили свой ответ, в нем будут все сообщения, но теперь это просто плохой ответ.
после внесения изменений, как вы предложили, я изменил return false; на error = true; а потом я проверял как - `if (error) {return false; } else {вернуть истину; } `но печатается только последняя ошибка, а затем последняя секунда и скоро
@Archer, я изначально не заметил текстовую функцию, так как использую ее с мобильного, и поэтому отступы трудно расшифровать. Надеюсь, ты поймешь. Спасибо
@Prakalp, пожалуйста, измените решение, как я его редактировал. Спасибо :)
@ Арчер, я так не думаю