Мне нужно проверить форму перед отправкой, но мне нужно перебрать некоторые входные данные. Если ввод неверен, мне нужно вернуть false и остановить отправку, однако, поскольку тест находится во вложенной функции each (), он не возвращает false во внешней функции submit ():
$("#my_form").submit(function() {
$("#my_form .my_text_inputs").each(function() {
if ($(this).val() == "bad value")
{
alert("Input was invalid");
return false;
}
});
return true;
});
Мое решение:
$("#my_form").submit(function() {
var _bSubmitTheForm = true;
$("#my_form .my_text_inputs").each(function() {
if ($(this).val() == "bad value")
{
alert("Input was invalid");
_bSubmitTheForm = false;
return false;
}
});
return _bSubmitTheForm;
});
... есть ли более элегантный способ сделать это?
Спасибо