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);