Javascript: aguarde a função no loop concluir a execução antes da próxima iteração
$(function() {
$("#submit").click(function() {
for (var i=1; i<=14; i++)
{
setID(i);
checkField(i);
}
if ($('#pass_fail').val() != "fail")
{
//do something
}
É o que acontece quando clico no botão Enviar de um formulário de registro.
Ordem de execução que eu quero:
setID (1);
checkField (1); // aguarde até que isso termine
setID (2);
checkField (2);
setId (3);
checkField (3);
....
declaração if
Ordem de execução que recebo:
para loop indo de i = 1 a i = 14
declaração if
checkField (i) s em ordem aleatória
Problema: $ ('# pass_fail'). val () tem um valor padrão de 'pass'. No entanto, através do loop, checkField (i) pode alterar seu valor para 'fail'. Porém, como na realidade a instrução if é executada antes do checkField (i) s, o valor de $ ('# pass_fail') sempre acaba sendo 'pass' e o 'do something' sempre é executado.
Como espero o checkField (i) concluir a execução antes de passar para a próxima iteração do looP? Agradeço antecipadamente!