判断form表单每个input字段是否有内容


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


 
原文地址:https://www.cnblogs.com/chenzeyongjsj/p/6599204.html