? ?本文章在纯css按钮,完美兼容浏览器?的基础上延伸的,直接贴上代码,有需要的朋友自查。
?
?
var is_click = false; var reresh_url = '/index.php/admin/code/index2'; var default_regs = {'num':/^[0-9]+\.{0,1}[0-9]{0,2}$/, 'tel':/^([0-9]{11})?$/, 'cn':/^[\u4E00-\u9FA5]+$/, 'email':/^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/, 'qq':/^[0-9]{4,12}/} $(document).ready(function(){ $('.input').focus(function(){ hidde_error(); }); }); function submit(form_id, submit_btn_id){ if(is_click == true){ return; } init_btn(submit_btn_id); var method = $('#'+form_id).attr('method'); var url = $('#'+form_id).attr('action'); var param = $('#'+form_id).serializeArray(); if(!check_val(form_id)){ recover_bnt(submit_btn_id); return; } $.ajax({ type: method, url: url, data: param, dataType: 'json', error:function(){ recover_bnt(submit_btn_id); }, success: function(data){ recover_bnt(submit_btn_id); if(data.error == 0){ // alert(data.msg); show_state(4, data.msg); return ; } reresh_code(); show_error(data.msg); } }); } /**********************************************************************************************************form check************************************************************************************/ function check_val(form_id){ var is_check = true; $('#'+form_id).find('.check').each(function(){ var input_val = $(this).val(); var theme = $(this).attr('theme'); var params = init_params($(this)); var check_result = do_checking(theme,input_val, params); if(!check_result){ is_check = false; return false; } }); return is_check; } function do_checking(theme, input_val, params){ var check_all = true; for(var key in params){ var check_func = 'check_'+key; var check = true; if(function_exists(check_func)){ check = eval(check_func)(theme, input_val, params[key]); } if(!check){ check_all = false; break; } } return check_all; } function init_params(node){ var require = attribute_exists(node,'require')?node.attr('require'):false; var max = attribute_exists(node,'max')?node.attr('max'):false; var min = attribute_exists(node,'min')?node.attr('min'):false; var reg = attribute_exists(node,'reg')?node.attr('reg'):false; var params = {'require':require, 'max':max, 'min':min, 'reg':reg} return params; } function check_require(theme, input_val, require){ var is_check = true; if(require && (input_val =='' || input_val == null)){ show_error(theme+'不能为空'); is_check = false; } return is_check; } function check_max(theme, input_val, max){ var is_check = true; if(parseInt(max) < str_length(input_val)){ show_error(theme+'最多'+max+'字符'); is_check = false; } return is_check; } function check_min(theme, input_val, min){ var is_check = true; if(parseInt(min) > str_length(input_val)){ show_error(theme+'至少'+min+'字符'); is_check = false; } return is_check; } function check_reg(theme, input_val, reg){ var is_check = true; var func_name = 'reg_'+reg; if(reg == '' || reg ==null || reg == false){ is_check = true; }else if(default_regs.hasOwnProperty(reg)){ is_check = reg_default(theme, input_val, default_regs[reg]); }else{ is_check = reg_type(theme, input_val, reg); } return is_check; } function reg_default(theme, input_val, regExp){ var is_check = true; if(!regExp.test(input_val)){ show_error(theme+'格式不正确'); is_check = false; } return is_check; } function reg_type(theme, input_val, reg){ return true; } /**********************************************************************************************************ajax form************************************************************************************/ function reresh_code(){ $('.img_code').attr('src',reresh_url); } fu