在做实际的项目中突发奇想写的一个方法,可能有一些表单控件没有加入判断中去还望见谅
实例
msg设置需要提示的内容
<input type="text" placeholder="请输入用户名" msg="请输入'用户名'"
name="username" maxlength="16">
JavaScript代码:方法循环表单中需要判断的控件提示后并且返回一个布尔值可以利用返回的布尔值阻止对后台的请求
$.fn.formIntegrity = function(){
var conts = $(this).find("select,input,textarea");// 获取表单下需要提示的控件
var isIntegrity = true;
conts.each(function(){
var nodeName = $(this).prop("nodeName").toUpperCase();//获取控件类型(toLowerCase转大写)
var msg = $(this).attr("msg");//获取控件的提示信息
switch(nodeName){
//下拉框
case "SELECT":
var sel = $(this).val();
if(sel == 0){
layer.msg(msg,{ icon: 0});
isIntegrity = false;
return false;
}
break;
//副文本框
case "textarea":
var text = $(this).val();
if(trim(text)){
layer.msg(msg,{ icon: 0});
isIntegrity = false;
return false;
}
break;
case "INPUT":
var inp = $(this).val();
var typename = $(this).prop("type");
if(inp != undefined && typename == "radio"){//单选框
return true;
}else if(trim(inp) && typename == "text"){//文本框
return true;
}else if(trim(inp) && typename == "password"){//密码
return true;
}else if(trim(inp) && typename == "file"){//文件
return true;
}else if(trim(inp) && typename == "number"){//数字
return true;
}else if(typename == "hidden"){//隐藏域
return true;
}
layer.msg(msg,{ icon: 0});
isIntegrity = false;
return false;
break;
}
});
return isIntegrity;
};
var isIntegrity = $("#userForm").formIntegrity();//验证表单是否输入完整