项目中自己在写一个很简单的表单验证的时候,需要遍历所有textarea并判断。因为用jQuery,所以第一反应就是用each函数遍历,当遍历到为空的textarea时,弹出提示并中断js的运行。一开始我是这样写的:
1 input.each(function(){ 2 if($(this).val() == null) 3 { 4 alert("test"); 5 return false; 6 } 7 //其他代码 8 });
运行之后发现,弹窗会出现,但是之后的代码也运行了,而且遍历了所有的textarea。
在看了each()函数的源代码之后(其实也没研究透彻),首先想到的就是用for循环代替。代码很简单就不写了。另外一种方法就是用抛出异常。示例如下:
1 try 2 { 3 input.each(function(){ 4 if(!empty_validation($(this))) 5 throw false; 6 }); 7 } 8 catch (e) 9 { 10 return false; 11 }
时间: 2024-12-28 01:01:05