//自定义验证或其他操作 放到所需页面内 调用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>
发表评论 取消回复