//为表单的必填文本框添加提示信息(选择form中的所有后代input元素) $("form :input.required").each(function () { //通过jquery api:$("HTML字符串") 创建jquery对象 var $required = $("*"); //添加到this对象的父级对象下 $(this).parent().append($required); }); function jisuan() { var small_num=Math.ceil($("#totalnum").val()/$("#box_num option:selected").val()) var larger_num=Math.ceil(small_num/$("#tray_num option:selected").val()); $("#larger_num").val(larger_num); $("#small_num").val(small_num); } function validate(data){ var reg = new RegExp("^[0-9]*$"); if(!reg.test(data)){ alert("请输入数字!"); } } //为表单元素添加失去焦点事件 $("form :input").blur(function(){ //console.log($(this)); var $parent = $(this).parent(); $parent.find(".msg").remove(); //删除以前的提醒元素(find():查找匹配元素集中元素的所有匹配元素) //文件流水号 if($(this).is("#file_no") || $(this).is("#order_no") || $(this).is("#manufacture_date") || $(this).is("#print_date") ){ var nameVal = $.trim(this.value); //原生js去空格方式:this.replace(/(^\s*)|(\s*$)/g, "") var regName = /[~#^$@%&!*()<>:;'"{}【】 ]/; if(nameVal == "" || nameVal.length < 2 || regName.test(nameVal)){ var errorMsg = " 必填!"; //class='msg onError' 中间的空格是层叠样式的格式 $parent.append("" + errorMsg + ""); } else{ var okMsg=" 输入正确"; $parent.find(".high").remove(); $parent.append("" + okMsg + ""); } } if($(this).is("#totalnum")){ var nameVal = $.trim(this.value); //原生js去空格方式:this.replace(/(^\s*)|(\s*$)/g, "") var regName = /[~#^$@%&!*()<>:;'"{}【】. ]/; if(nameVal == "" || nameVal.length < 1 || regName.test(nameVal) || Number(nameVal)<1){ var errorMsg = " 总张数必填且不能有小数点"; //class='msg onError' 中间的空格是层叠样式的格式 $parent.append("" + errorMsg + ""); } else{ var reg = new RegExp("^[0-9]*$"); if(!reg.test(nameVal)){ var errorMsg = " 请输入数字!"; //class='msg onError' 中间的空格是层叠样式的格式 $parent.append("" + errorMsg + ""); }else{ var okMsg=" 输入正确"; jisuan(); $parent.find(".high").remove(); $parent.append("" + okMsg + ""); } } } if($(this).is("#box_num")){ var nameVal = $.trim(this.value); //原生js去空格方式:this.replace(/(^\s*)|(\s*$)/g, "") var regName = /[~#^$@%&!*()<>:;'"{}【】 ]/; if(nameVal == "" || nameVal.length < 1 || regName.test(nameVal) || Number(nameVal)==1){ var errorMsg = " 一箱多少张必选"; //class='msg onError' 中间的空格是层叠样式的格式 $parent.append("" + errorMsg + ""); } else{ jisuan(); var okMsg=" 输入正确"; $parent.find(".high").remove(); $parent.append("" + okMsg + ""); } } var danwei = $('#danwei').val(); if (danwei == 2){ //当选择卷的时候验证此字段 if($(this).is("#box_num1")){ var nameVal = $.trim(this.value); //原生js去空格方式:this.replace(/(^\s*)|(\s*$)/g, "") var regName = /[~#^$@%&!*()<>:;'"{}【】. ]/; if(nameVal == "" || nameVal.length > 3 || regName.test(nameVal) || Number(nameVal)==1){ var errorMsg = " 一托盘多少卷必填且不能大于三位"; //class='msg onError' 中间的空格是层叠样式的格式 $parent.append("" + errorMsg + ""); } else{ // jisuan(); var okMsg=" 输入正确"; $parent.find(".high").remove(); $parent.append("" + okMsg + ""); } } } if($(this).is("#tray_num")){ var nameVal = $.trim(this.value); //原生js去空格方式:this.replace(/(^\s*)|(\s*$)/g, "") var regName = /[~#^$@%&!*()<>:;'"{}【】 ]/; if(nameVal == "" || nameVal.length < 1 || regName.test(nameVal) || Number(nameVal)==1){ var errorMsg = " 一托盘多少箱必选"; //class='msg onError' 中间的空格是层叠样式的格式 $parent.append("" + errorMsg + ""); } else{ jisuan(); var okMsg=" 输入正确"; $parent.find(".high").remove(); $parent.append("" + okMsg + ""); } } if($(this).is("#larger_num")){ var nameVal = $.trim(this.value); //原生js去空格方式:this.replace(/(^\s*)|(\s*$)/g, "") var regName = /[~#^$@%&!*()<>:;'"{}【】. ]/; if(nameVal == "" || nameVal.length < 1 || regName.test(nameVal) || Number(nameVal)<1){ var errorMsg = " 大件数量必填且不能有小数点!"; //class='msg onError' 中间的空格是层叠样式的格式 $parent.append("" + errorMsg + ""); } else{ var okMsg=" 输入正确"; $parent.find(".high").remove(); $parent.append("" + okMsg + ""); } } if($(this).is("#small_num")){ var nameVal = $.trim(this.value); //原生js去空格方式:this.replace(/(^\s*)|(\s*$)/g, "") var regName = /[~#^$@%&!*()<>:;'"{}【】. ]/; if(nameVal == "" || nameVal.length < 1 || regName.test(nameVal)|| Number(nameVal)<1){ var errorMsg = " 小件数量必填且不能有小数点!"; //class='msg onError' 中间的空格是层叠样式的格式 $parent.append("" + errorMsg + ""); } else{ var okMsg=" 输入正确"; $parent.find(".high").remove(); $parent.append("" + okMsg + ""); } } if($(this).is("#bach_num") ){ //console.log(123456); var nameVal = $.trim(this.value); //原生js去空格方式:this.replace(/(^\s*)|(\s*$)/g, "") var regName = /[~#^$@%&!*()<>:;'"{}【】 ]/; if(nameVal == "" || nameVal.length>10 || regName.test(nameVal) || Number(nameVal)<0){ var errorMsg = " 生产批号必填且不可大于十位"; //class='msg onError' 中间的空格是层叠样式的格式 $parent.append("" + errorMsg + ""); } else{ var reg = new RegExp("^[0-9]*$"); if(!reg.test(nameVal)){ var errorMsg = " 请输入输入数字!"; //class='msg onError' 中间的空格是层叠样式的格式 $parent.append("" + errorMsg + ""); }else{ var okMsg=" 输入正确"; $parent.find(".high").remove(); $parent.append("" + okMsg + ""); } } } if($(this).is("#s_flow") || $(this).is("#l_flow") ){ var nameVal = $.trim(this.value); //原生js去空格方式:this.replace(/(^\s*)|(\s*$)/g, "") var regName = /[~#^$@%&!*()<>:;'"{}【】 ]/; if(nameVal == "" || nameVal.length>6 || regName.test(nameVal) || Number(nameVal)<0){ var errorMsg = " 流水号必填(不能大于6位数)"; //class='msg onError' 中间的空格是层叠样式的格式 $parent.append("" + errorMsg + ""); } else{ var reg = new RegExp("^[0-9]*$"); if(!reg.test(nameVal)){ var errorMsg = " 请输入数字!"; //class='msg onError' 中间的空格是层叠样式的格式 $parent.append("" + errorMsg + ""); }else{ var okMsg=" 输入正确"; $parent.find(".high").remove(); $parent.append("" + okMsg + ""); } } } if($(this).is("#l_weight") ){ var nameVal = $.trim(this.value); //原生js去空格方式:this.replace(/(^\s*)|(\s*$)/g, "") var regName = /[~#^$@%&!*()<>:;'"{}【】 ]/; if(nameVal == "" || regName.test(nameVal) || nameVal.length <1 || nameVal < 1 ){ var errorMsg = " 重量必填(不能大于4位数)"; //class='msg onError' 中间的空格是层叠样式的格式 $parent.append("" + errorMsg + ""); } else{ var rep = /[\.]/; var reg = new RegExp("^[0-9]*$"); if (rep.test(nameVal)) {//判断有没有小数点 if (!/^-?\d+.\d{2}$/.test(nameVal)) {//判断是不是保留了小数点2位 var errorMsg = "请向下取整保留小数点后两位"; $parent.append("" + errorMsg + ""); }else{//判断是不是6位 nameVal = Number(nameVal*100).toFixed(0);//强制转换成整数 避免精度温蒂 // console.log(Number(nameVal*100).toFixed(0)) if(!reg.test(nameVal) || nameVal > 999999){//判断是不是数字且有没有大于6位数 var errorMsg = " 请输入不大于4位数的数字!"; $parent.append("" + errorMsg + ""); }else{ var okMsg=" 输入正确"; $parent.find(".high").remove(); $parent.append("" + okMsg + ""); } } }else{//没有小数点 if(!reg.test(nameVal * 1000) || nameVal.length > 6 || nameVal * 100 > 999999){//判断是不是数字且有没有大于6位数 var errorMsg = " 请输入不大于4位数的数字!"; $parent.append("" + errorMsg + ""); }else{ var okMsg=" 输入正确"; $parent.find(".high").remove(); $parent.append("" + okMsg + ""); } } } } if($(this).is("#reptQty3") ){ var nameVal = $.trim(this.value); //原生js去空格方式:this.replace(/(^\s*)|(\s*$)/g, "") var regName = /[~#^$@%&!*()<>:;'"{}【】 ]/; if(nameVal == "" || regName.test(nameVal) || nameVal.length <1 || nameVal < 1 ){ var errorMsg = " 重量必填(不能大于4位数)"; //class='msg onError' 中间的空格是层叠样式的格式 $parent.append("" + errorMsg + ""); } else{ var rep = /[\.]/; var reg = new RegExp("^[0-9]*$"); if (rep.test(nameVal)) {//判断有没有小数点 if (!/^-?\d+.\d{2}$/.test(nameVal)) {//判断是不是保留了小数点2位 var errorMsg = "请向下取整保留小数点后两位"; $parent.append("" + errorMsg + ""); }else{//判断是不是6位 nameVal = Number(nameVal*100).toFixed(0);//强制转换成整数 避免精度温蒂 // console.log(Number(nameVal*100).toFixed(0)) if(!reg.test(nameVal) || nameVal > 999999){//判断是不是数字且有没有大于6位数 var errorMsg = " 请输入不大于4位数的数字!"; $parent.append("" + errorMsg + ""); }else{ var okMsg=" 输入正确"; $parent.find(".high").remove(); $parent.append("" + okMsg + ""); } } }else{//没有小数点 if(!reg.test(nameVal * 1000) || nameVal.length > 6 || nameVal * 100 > 999999){//判断是不是数字且有没有大于6位数 var errorMsg = " 请输入不大于4位数的数字!"; $parent.append("" + errorMsg + ""); }else{ var okMsg=" 输入正确"; $parent.find(".high").remove(); $parent.append("" + okMsg + ""); } } } } if($(this).is("#reptQty33")){ var nameVal = $.trim(this.value); //原生js去空格方式:this.replace(/(^\s*)|(\s*$)/g, "") var regName = /[~#^$@%&!*()<>:;'"{}【】. ]/; if(nameVal == "" || nameVal.length < 1 || regName.test(nameVal) || Number(nameVal)<1 || nameVal.length > 10){ var errorMsg = " 总张数必填不能有小数点,且不大于10位"; //class='msg onError' 中间的空格是层叠样式的格式 $parent.append("" + errorMsg + ""); }else{ var reg = new RegExp("^[0-9]*$"); if(!reg.test(nameVal)){ var errorMsg = " 请输入数字!"; //class='msg onError' 中间的空格是层叠样式的格式 $parent.append("" + errorMsg + ""); }else{ var okMsg=" 输入正确"; $parent.append("" + okMsg + ""); } } } if( $(this).is("#s_weight") ){ var nameVal = $.trim(this.value); //原生js去空格方式:this.replace(/(^\s*)|(\s*$)/g, "") var regName = /[~#^$@%&!*()<>:;'"{}【】 ]/; if(nameVal == "" || nameVal.length > 6 || regName.test(nameVal) || nameVal.length <1 || nameVal < 1 ){ var errorMsg = " 重量必填(不能大于6位数)"; //class='msg onError' 中间的空格是层叠样式的格式 $parent.append("" + errorMsg + ""); } else{ var reg = new RegExp("^[0-9]*$"); if(!reg.test(nameVal)){ var errorMsg = " 请输入数字!"; //class='msg onError' 中间的空格是层叠样式的格式 $parent.append("" + errorMsg + ""); }else{ //console.log(12344); var okMsg=" 输入正确"; $parent.find(".high").remove(); $parent.append("" + okMsg + ""); } } } if($(this).is("#l_reservation") || $(this).is("#s_reservation") ){ var nameVal = $.trim(this.value); //原生js去空格方式:this.replace(/(^\s*)|(\s*$)/g, "") var regName = /[~#^$@%&!*()<>:;'"{}【】 ]/; if(nameVal == "" || nameVal.length> 12 || regName.test(nameVal) || Number(nameVal)<0 ){ var errorMsg = " 预留码必填(不能大于12位数)"; //class='msg onError' 中间的空格是层叠样式的格式 $parent.append("" + errorMsg + ""); } else{ var reg = new RegExp("^[0-9]*$"); if(!reg.test(nameVal)){ var errorMsg = " 请输入数字!"; //class='msg onError' 中间的空格是层叠样式的格式 $parent.append("" + errorMsg + ""); }else{ var okMsg=" 输入正确"; $parent.find(".high").remove(); $parent.append("" + okMsg + ""); } } } }).keyup(function(){ //triggerHandler 防止事件执行完后,浏览器自动为标签获得焦点 $(this).triggerHandler("blur"); }).focus(function(){ $(this).triggerHandler("blur"); }); //点击重置按钮时,通过trigger()来触发文本框的失去焦点事件 $("#send").click(function(){ //trigger 事件执行完后,浏览器会为submit按钮获得焦点 $("form .required:input").trigger("blur"); var numError = $("form .onError").length; if(numError){ return false; } });