1 //---------------------------------------------------input失去焦点时判断是否有值 2 btn_click: function () { 3 //input失去焦点时判断是否有值 若没有 则不能点击保存 4 function Input_verification() { 5 //input的是否有内容 6 var input_val = null; 7 //是否能够点击保存 8 var canClick = false; 9 this.init = function (fo) { 10 //当前表单的按钮 11 var btn = fo.children('.form_btn').children('button'); 12 //btn.attr('disabled',true).css('cursor',' not-allowed'); 13 //input列表 14 fo.input = []; 15 //表单下的input 16 var input = fo.find('input'); 17 var input_textarea = fo.find('textarea'); 18 //把每个input放入数组 19 for (var i = 0; i < input.length; i++) { 20 if ((input[i].type == 'text') 21 || ( input[i].type == 'number') 22 || (input[i].type == 'password') 23 || (input[i].type == 'email') 24 || (input[i].type == 'search') 25 || (input[i].type == 'tel') 26 || (input[i].type == 'url') 27 || (input[i].type == 'date') 28 || (input[i].type == 'datetime') 29 || (input[i].type == 'datetime-local') 30 || (input[i].type == 'month') 31 || (input[i].type == 'week') 32 || (input[i].type == 'time') 33 ) { 34 fo.input.push(input[i]); 35 } 36 } 37 //把每个textarea放入数组 38 if (input_textarea) { 39 for (var o = 0; o < input_textarea.length; o++) { 40 fo.input.push(input_textarea[o]); 41 } 42 } 43 inp_blur(fo.input); 44 btn_click(fo, btn, fo.input); 45 }; 46 //给每个元素绑定失去焦点事件 47 var inp_blur = function (inp) { 48 for (var i = 0; i < inp.length; i++) { 49 $(inp[i]).blur(function () { 50 input_val = $(this).val(); 51 //值为空提示信息 52 if (input_val == '') { 53 //this.placeholder = 1; 54 //console.log(this.parentNode.children[0]); 55 $(this).attr('placeholder', '内容不能为空').prev('i').css('color', 'red'); 56 } else { 57 $(this).prev('i').css('color', '#e6e6e6') 58 } 59 }) 60 } 61 }; 62 //给每个提交按钮绑定点击事件 63 var btn_click = function (fo, btn, inp) { 64 var form_fo = fo; 65 var form_parent = $('.nominations form'); 66 var result = ''; 67 var url = ''; 68 btn.click(function () { 69 //循环整个表单是否有input值为空 70 for (var k = 0; k < inp.length; k++) { 71 if (inp[k].value == '') { 72 canClick = false; 73 break; 74 } else { 75 canClick = true; 76 } 77 } 78 //若值都不为空,开放保存按钮点击权限 79 if (canClick) { 80 //如果是第一个form表单 81 if (form_fo.hasClass('hasID')) { 82 result = form_fo.serialize(); 83 //获得ajax地址 84 url = form_fo.attr('form_url'); 85 //取得用户登录ID 86 result += ('&user_id=' + form_fo.attr('user_id')); 87 $.ajax({ 88 type: 'POST', 89 url: url, 90 data: result, 91 success: function (txt) { 92 if (txt.xinxi == '添加成功') { 93 //给第一个表单下面的所有表单添加属于该表单的uid 94 for (var u = 0; u < form_parent.length; u++) { 95 if (!$(form_parent[u]).hasClass('hasID')) { 96 $(form_parent[u]).attr('uid', txt.id); 97 } 98 } 99 //开放修改按钮 100 btn.parent().removeClass('form_btn_1').children('button').addClass('btn_top').siblings('div').css('display', 'block'); 101 } else { 102 btn.html('添加失败'); 103 } 104 } 105 }) 106 //如果不是第一个form表单而且第一个表单已交互成功下发uid给下面的表单 107 } else if (form_fo.attr('uid')) { 108 result = form_fo.serialize(); 109 result += ('&uid=' + form_fo.attr('uid')); 110 //获得ajax地址 111 url = form_fo.attr('form_url'); 112 $.ajax({ 113 type: 'POST', 114 url: url, 115 data: result, 116 success: function (obj) { 117 if (obj == '添加成功') { 118 //开放修改按钮 119 btn.parent().removeClass('form_btn_1').children('button').addClass('btn_top').siblings('div').css('display', 'block'); 120 } else { 121 btn.html(obj); 122 } 123 } 124 }) 125 } else if (form_fo.attr('user_id')) { 126 result = form_fo.serialize(); 127 result += ('&id=' + form_fo.attr('user_id')); 128 //获得ajax地址 129 url = form_fo.attr('form_url'); 130 $.ajax({ 131 type: 'POST', 132 url: url, 133 data: result, 134 success: function (obj) { 135 if (obj == '修改成功') { 136 //开放修改按钮 137 btn.html(obj); 138 } else { 139 btn.html(obj); 140 } 141 } 142 }) 143 } 144 } else { 145 for (var i = 0; i < inp.length; i++) { 146 if (inp[i].value == '') { 147 $(inp[i]).attr('placeholder', '内容不能为空').prev('i').css('color', 'red'); 148 } 149 } 150 } 151 }) 152 }; 153 } 154 155 var form_input = new Input_verification(); 156 var form1 = $('#form1'); 157 form_input.init(form1);