考虑此方案以进行验证:
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.
}
}
现在,我的问题是,在循环结束之前执行if块。我希望的主体validateForm
可以同步执行,但是jQueryeach()
函数似乎可以异步执行。我对吗?为什么这不起作用?
是的,jQueryeach
方法是同步的。几乎所有的JavaScript都是同步的。唯一的例外是AJAX,计时器(setTimeout
和setInterval
)和HTML5 Web Worker。
您的问题可能在代码中的其他地方。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句