最近遇到一个需求,保存一些数据,可是须要判断全部输入框是否为空,若是为空的话,弹窗提示数据为空.不为空再执行保存的的ajax方法ajax
function test(){ $('input[type="text"]').each(function() { if($.trim($(this).val()).length == 0){ return false; } }); .....$.ajax方法 }
问题来了,此处不管为不为空,都会调用方法体中的ajax方法,后来才知道函数
$("").each(function(){ return false; });
each
函数体中的return false
至关于break,因此直接跳过判断为空的方法体去执行ajax操做.this
解决方案:设置一个flag 标记code
var isFormValid = true; $('input[type="text"]').each(function() { if($.trim($(this).val()).length == 0){ isFormValid = false; } }); if(!isFormValid){ alert('不可为空!'); return false; }
解决方案:设置try_catch()orm
try{ $('input[type="text"]').each(function() { if($.trim($(this).val()).length == 0){ throw name; } }); }catch(e){ alert(e+"test"); return false; }