时光匆匆流逝

昨天是啥样今天还是啥样

 

用jquery的$.each()工具函数改造表单检测函数遇到的一个小问题

$.each(object,callback)
 
function check_form()
{
var ob = $("input");
if($("#a").attr("value")=="")
  return false;
return true;
}
js在onsubmit事件中调用检查表单函数中原本为if式判断
后来又新增的判断的内容,决定用$.each()控制代码长度。
循环在回调函数中判断表单中的值是否为空,如果为空则返回false。
但是$.each()中回调函数返回false只能跳出循环,返回值不为false。
 
function check_form()
{
var ob = $("input");
if($("#a").attr("value")=="")
  return false;
$.each(ob,
function(i,n){
  return false;
});
return true;
}
如上修改后check_form()失效,$.each结束后表单直接提交。
 
经过高人指点改成如下形式,增加一个变量即可。
function check_form()
{
var v = true;
var ob = $("input");
if($("#a").attr("value")=="")
  return false;
$.each(ob,
function(i,n){
  v
= false;
  return false;
});
return v;
}

posted on 2011-04-25 14:49  白吉他  阅读(426)  评论(0)    收藏  举报

导航