//自定义验证或其他操作 放到所需页面内 调用onsubmit="return _form_submit(this);"
// function _form_submit(_this) {
// 	if(!$('#xieyi').is(':checked')){
// 		msg("请阅读并同意《隐私政策》和《注册协议》");
// 		$('.submit').removeAttr("disabled");
// 		return false;		
// 	}
// 	return form_submit(_this);
// }


//form class="login-form" method="get" action="" onsubmit="return form_submit(this);"
// input rule="required" 或 rule="phone" ,自定义错误信息 errmsg,为空调用 placeholder
//提交按钮 class =submit
//配套layer
function form_submit(_this) {
	let submit_btn=$(_this).find(".submit");
	let submit_action=$(_this).attr("action");
	let postdata=$(_this).serializeArray();
	//表单验证
	let check=_form_check(_this)
	if(check!==true){
		popmsg(check);
		return false;	
	}

	$.post(submit_action,postdata,function(res,status){
		if(res.code==1){
			msg(res.msg) //自定义提示框
			setTimeout(function(){
				if(res.url){
					window.location.href=res.url; 
				}else if(res.data && res.data.url){
					window.location.href=res.data.url; 
				}else{
					window.location.reload();
				}
				
			},1000)
		}else{
			submit_btn.removeAttr("disabled");
			popmsg(res.msg) //自定义提示框
		}
		
  });
	return false;
}
//表单验证直接调用,用于html提交
function form_check(_this){
	let check=_form_check(_this)
	if(check!==true){
		popmsg(check);
		return false;	
	}else{
		return true;
	}
}



//表单验证
function _form_check(_this) {
	var br="<br>";
	var input_name_required,input_name_errmsg,input_name_placeholder,input_name_rule;
	var errmsg="";
  $(_this).find('input[rule]').each(function(){
    	input_name_rule=$(this).attr("rule");
			input_name_errmsg=$(this).attr("errmsg");
			input_name_placeholder=$(this).attr("placeholder");
			input_name_errmsg = input_name_errmsg ? input_name_errmsg : input_name_placeholder;
			input_name_errmsg = input_name_errmsg ? input_name_errmsg : $(this).attr("name") + "请填写正确的值!";
			if(input_name_rule=="required" && $(this).val()==""){
				errmsg+=br+input_name_errmsg;
			}
			if(input_name_rule=="phone" && !check_phone($(this).val())){
				errmsg+=br+input_name_errmsg;
			}

			if(input_name_rule=="sfz" && !check_sfz($(this).val())){
				errmsg+=br+input_name_errmsg;
			}


  });

	if(errmsg){
		return errmsg;
	}else{
		return true;
	}
}
//检查手机
function check_phone(phone) {
	var phoneReg = /^((1[0-9]{2})+\d{8})$/,
	flag = phoneReg.test(phone);
	if(!flag){
		return false;
	}
	return true;
}
//检查身份证
function check_sfz(sfz) {
    const reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
    if (reg.test(sfz) === false) {
        return false;
    } else {
        return true;
    }
}



//确定按钮弹窗 依赖layer手机版,或调用其他提示信息
function popmsg($msg){
	layer.open({
	  content: $msg,
	  btn: '确定'
	});
}

//提示信息 依赖layer手机版,或调用其他提示信息
function msg($msg){
  layer.open({
    content: $msg
    ,skin: 'msg'
    ,time: 2 //2秒后自动关闭
  });
}

快捷键:jsformsubmit

源:

sublime_text格式

<snippet>
    <content><![CDATA[
//自定义验证或其他操作 放到所需页面内 调用onsubmit="return _form_submit(this);"
// function _form_submit(_this) {
// 	if(!\$('#xieyi').is(':checked')){
// 		msg("请阅读并同意《隐私政策》和《注册协议》");
// 		\$('.submit').removeAttr("disabled");
// 		return false;		
// 	}
// 	return form_submit(_this);
// }


//form class="login-form" method="get" action="" onsubmit="return form_submit(this);"
// input rule="required" 或 rule="phone" ,自定义错误信息 errmsg,为空调用 placeholder
//提交按钮 class =submit
//配套layer
function form_submit(_this) {
	let submit_btn=\$(_this).find(".submit");
	let submit_action=\$(_this).attr("action");
	let postdata=\$(_this).serializeArray();
	//表单验证
	let check=_form_check(_this)
	if(check!==true){
		popmsg(check);
		return false;	
	}

	\$.post(submit_action,postdata,function(res,status){
		if(res.code==1){
			msg(res.msg) //自定义提示框
			setTimeout(function(){
				if(res.url){
					window.location.href=res.url; 
				}else if(res.data && res.data.url){
					window.location.href=res.data.url; 
				}else{
					window.location.reload();
				}
				
			},1000)
		}else{
			submit_btn.removeAttr("disabled");
			popmsg(res.msg) //自定义提示框
		}
		
  });
	return false;
}
//表单验证直接调用,用于html提交
function form_check(_this){
	let check=_form_check(_this)
	if(check!==true){
		popmsg(check);
		return false;	
	}else{
		return true;
	}
}



//表单验证
function _form_check(_this) {
	var br="<br>";
	var input_name_required,input_name_errmsg,input_name_placeholder,input_name_rule;
	var errmsg="";
  \$(_this).find('input[rule]').each(function(){
    	input_name_rule=\$(this).attr("rule");
			input_name_errmsg=\$(this).attr("errmsg");
			input_name_placeholder=\$(this).attr("placeholder");
			input_name_errmsg = input_name_errmsg ? input_name_errmsg : input_name_placeholder;
			input_name_errmsg = input_name_errmsg ? input_name_errmsg : \$(this).attr("name") + "请填写正确的值!";
			if(input_name_rule=="required" && \$(this).val()==""){
				errmsg+=br+input_name_errmsg;
			}
			if(input_name_rule=="phone" && !check_phone(\$(this).val())){
				errmsg+=br+input_name_errmsg;
			}

			if(input_name_rule=="sfz" && !check_sfz(\$(this).val())){
				errmsg+=br+input_name_errmsg;
			}


  });

	if(errmsg){
		return errmsg;
	}else{
		return true;
	}
}
//检查手机
function check_phone(phone) {
	var phoneReg = /^((1[0-9]{2})+\d{8})\$/,
	flag = phoneReg.test(phone);
	if(!flag){
		return false;
	}
	return true;
}
//检查身份证
function check_sfz(sfz) {
    const reg = /(^\d{15}\$)|(^\d{18}\$)|(^\d{17}(\d|X|x)\$)/;
    if (reg.test(sfz) === false) {
        return false;
    } else {
        return true;
    }
}



//确定按钮弹窗 依赖layer手机版,或调用其他提示信息
function popmsg(\$msg){
	layer.open({
	  content: \$msg,
	  btn: '确定'
	});
}

//提示信息 依赖layer手机版,或调用其他提示信息
function msg(\$msg){
  layer.open({
    content: \$msg
    ,skin: 'msg'
    ,time: 2 //2秒后自动关闭
  });
}
]]></content>
   <tabTrigger>jsformsubmit(表单验证及转ajax提交)</tabTrigger>
   <scope></scope>
</snippet>
点赞(0)

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部