对上篇代码根据项目需求进行了小小的改动,只要在要验证的element上加上,checkFlag定义的标识即可。 function Ucheck(forms) { String.prototype.trim = function () { return this.replace(/(^/s+)|(/s+$)/g, ""); }; var checkFlag = "Uchk"; //the attribute for check var meizz = {}; //for checkbox radio var reVal = true; //for return for (var i = 0; i < forms.elements.length; i++) { var e = forms.elements[i]; switch (e.tagName) { case "TEXTAREA": if (!e.disabled && e.value.trim() == "" && e.clientHeight > 0 && e.getAttribute(checkFlag) == "1") { alert("请检查必填内容,不能为空!"); e.focus(); reVal = false; return; } break; case "SELECT": if (!e.disabled && e.value.trim() == "" && e.clientHeight > 0 && e.getAttribute(checkFlag) == "1") { alert("请检查必选下拉框,不能为空!"); e.focus(); reVal = false; return; } break; case "INPUT": if (!e.disabled && e.type != "hidden" && e.clientHeight > 0 && e.getAttribute(checkFlag) == "1") { if ("text,password,file".indexOf(e.type) > -1 && e.value.trim() == "") { alert("请检查必填项,不能为空!"); e.focus(); reVal = false; return; } else { if ("checkbox,radio".indexOf(e.type) > -1) { if (typeof meizz[e.name] == "undefined") { var a = document.getElementsByName(e.name); for (var k = 0; k < a.length; k++) { if (a[k].checked) { meizz[e.name] = a[k].value; break; } } if (typeof meizz[e.name] == "undefined") { alert("请检查必选项,不能为空!"); e.focus(); reVal = false; return; } } } } } break; default: break; } } return reVal; }