を検証するために、このシナリオを考えてみます。jQueryの "each()"関数は同期していますか?
function validateForm (validCallback) {
$('#first-name').add($('#last-name')).add($('#address')).each(function() {
// validating fields and adding 'invalid' class to invalid fields.
});
// doing validation this way for almost 50 fields (loop over 50 fields)
if ($('#holder .invalid').length == 0) {
// submitting data here, only when all fields are validated.
}
}
を今、私の問題は、ループが終了する前に、かのブロックが実行を受ける、ということです。私はvalidateForm
のボディが同期して実行されることを期待しましたが、jQuery each()
関数が非同期に実行されるようです。私は正しい?なぜこれはうまくいかないのですか?
検証コードはどのように見えますか? 'each'は同期ですが、内部のコードは... – lonesomeday
' each'自体が同期して処理されます。ループ内から自分自身の非同期操作を開始していますか? – Jon
ここで同様の問題..どのように解決しましたか? – sakthig