好久都没有写个jq了,那天在写一个表单验证的时候,我用each来判断所有的input框是否为空,如果一旦有值为空的话,就返回,如果没有值为空的话,就让提交表单的
view:
<form name="company" action="/" menthod="post">
...
<input type="submit" onclick="return checkForm('company')" class="btn disabled" name="company" value="立即申请">
</form>
js:
我的input框都有class=union_text
function checkForm(formName){
var individual = true;
$('form[name='+formName+']').find('.union_text').each(function(){
if($(this).val()==''){
$(this).next().find('i').show();
individual = false;
return false;
}else{
$(this).next().find('i').hide();
}
})
// alert('不能为空');
return individual;
}
在这个地方,我想写点东西给自己提个醒:each中的return false,相当于for循环中的break,值得注意的是,我开始认为使用return false之后之后的东西都不会执行了,例如我开始会认为alert是不会执行的,但是结果是他的确执行了,后来我知道了,一直以来我对这个地方都有误解。
each 中的return false只是正对each的循环来的,不是针对整个方法,他只是跳出了循环,接下来的东西该怎么执行还是怎么执行,以后这个地方一定要注意。怎么涂红额