//为表单的必填文本框添加提示信息(选择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;
}
});