//---------------------------------------------------input失去焦点时判断是否有值
btn_click: function () {
//input失去焦点时判断是否有值 若没有 则不能点击保存
function Input_verification() {
//input的是否有内容
var input_val = null;
//是否能够点击保存
var canClick = false;
this.init = function (fo) {
//当前表单的按钮
var btn = fo.children('.form_btn').children('button');
//btn.attr('disabled',true).css('cursor',' not-allowed');
//input列表
fo.input = [];
//表单下的input
var input = fo.find('input');
var input_textarea = fo.find('textarea');
//把每个input放入数组
for (var i = 0; i < input.length; i++) {
if ((input[i].type == 'text')
|| ( input[i].type == 'number')
|| (input[i].type == 'password')
|| (input[i].type == 'email')
|| (input[i].type == 'search')
|| (input[i].type == 'tel')
|| (input[i].type == 'url')
|| (input[i].type == 'date')
|| (input[i].type == 'datetime')
|| (input[i].type == 'datetime-local')
|| (input[i].type == 'month')
|| (input[i].type == 'week')
|| (input[i].type == 'time')
) {
fo.input.push(input[i]);
}
}
//把每个textarea放入数组
if (input_textarea) {
for (var o = 0; o < input_textarea.length; o++) {
fo.input.push(input_textarea[o]);
}
}
inp_blur(fo.input);
btn_click(fo, btn, fo.input);
};
//给每个元素绑定失去焦点事件
var inp_blur = function (inp) {
for (var i = 0; i < inp.length; i++) {
$(inp[i]).blur(function () {
input_val = $(this).val();
//值为空提示信息
if (input_val == '') {
//this.placeholder = 1;
//console.log(this.parentNode.children[0]);
$(this).attr('placeholder', '内容不能为空').prev('i').css('color', 'red');
} else {
$(this).prev('i').css('color', '#e6e6e6')
}
})
}
};
//给每个提交按钮绑定点击事件
var btn_click = function (fo, btn, inp) {
var form_fo = fo;
var form_parent = $('.nominations form');
var result = '';
var url = '';
btn.click(function () {
//循环整个表单是否有input值为空
for (var k = 0; k < inp.length; k++) {
if (inp[k].value == '') {
canClick = false;
break;
} else {
canClick = true;
}
}
//若值都不为空,开放保存按钮点击权限
if (canClick) {
//如果是第一个form表单
if (form_fo.hasClass('hasID')) {
result = form_fo.serialize();
//获得ajax地址
url = form_fo.attr('form_url');
//取得用户登录ID
result += ('&user_id=' + form_fo.attr('user_id'));
$.ajax({
type: 'POST',
url: url,
data: result,
success: function (txt) {
if (txt.xinxi == '添加成功') {
//给第一个表单下面的所有表单添加属于该表单的uid
for (var u = 0; u < form_parent.length; u++) {
if (!$(form_parent[u]).hasClass('hasID')) {
$(form_parent[u]).attr('uid', txt.id);
}
}
//开放修改按钮
btn.parent().removeClass('form_btn_1').children('button').addClass('btn_top').siblings('div').css('display', 'block');
} else {
btn.html('添加失败');
}
}
})
//如果不是第一个form表单而且第一个表单已交互成功下发uid给下面的表单
} else if (form_fo.attr('uid')) {
result = form_fo.serialize();
result += ('&uid=' + form_fo.attr('uid'));
//获得ajax地址
url = form_fo.attr('form_url');
$.ajax({
type: 'POST',
url: url,
data: result,
success: function (obj) {
if (obj == '添加成功') {
//开放修改按钮
btn.parent().removeClass('form_btn_1').children('button').addClass('btn_top').siblings('div').css('display', 'block');
} else {
btn.html(obj);
}
}
})
} else if (form_fo.attr('user_id')) {
result = form_fo.serialize();
result += ('&id=' + form_fo.attr('user_id'));
//获得ajax地址
url = form_fo.attr('form_url');
$.ajax({
type: 'POST',
url: url,
data: result,
success: function (obj) {
if (obj == '修改成功') {
//开放修改按钮
btn.html(obj);
} else {
btn.html(obj);
}
}
})
}
} else {
for (var i = 0; i < inp.length; i++) {
if (inp[i].value == '') {
$(inp[i]).attr('placeholder', '内容不能为空').prev('i').css('color', 'red');
}
}
}
})
};
} var form_input = new Input_verification();
var form1 = $('#form1');
form_input.init(form1);

 

判断form表单每个input字段是否有内容的更多相关文章

  1. ajax form表单提交 input file中的文件

    ajax form表单提交 input file中的文件 现今的主流浏览器由于ajax提交form表单无法把文件类型数据提交到后台,供后台处理,可是开发中由于某些原因又不得不用ajax提交文件, 为了 ...

  2. ExtJs如何判断form表单是否被修改过详解

    1.Extjs表单提交主要有三种方式: 1, EXT的form表单ajax提交(默认提交方式)      相对单独的ajax提交来说优点在于能省略写参数数组 ,form.getForm().submi ...

  3. input file 在开发中遇到的问题 类似ajax form表单提交 input file中的文件

    最近在做项目的过程中遇到个问题,在这里做个记录防止日后忘记 现今的主流浏览器由于ajax提交form表单无法把文件类型数据提交到后台,供后台处理,可是开发中由于某些原因又不得不用ajax提交文件, 为 ...

  4. jQuery判断 form表单提交时一些文本框的判断

    一: form表单提交时如果表单里有input标签为空那么不提交form表单. <head> <script type="text/javascript"> ...

  5. 前端 HTML form表单标签 input标签 type属性 file 上传文件

     加上上传文件功能 input type='file' - 依赖form表单里一个属性 enctype="multipart/form-data" 加上这个属性表示把你上次文件一点 ...

  6. JQuery判断form表单是否为空

    功能:通过jquery判断form表单中是否有内容还未填写,如果有未填写的,则阻止提交 $(function () { $('form').bind('submit',function () {  / ...

  7. 常用6种type的form表单的input标签分析及示例

    <input> 标签用于搜集用户信息. 根据不同的 type 属性值,输入字段拥有很多种形式.输入字段可以是文本字段.复选框.掩码后的文本控件.单选按钮.按钮等等. 在这里博主介绍6中ty ...

  8. form表单 一个input时 回车自动提交

    问题描述 form表单中,如果当前表单只有一个input输入框时,单击回车会自动提交当前表单. 解决方案 在当前form表单中添加一个隐藏的input, <input style="d ...

  9. 前端 HTML form表单标签 input标签 type属性 radio 单选框

    <input type="radio"> 单选框 适用于 选择性别按钮网页等 <!DOCTYPE html> <html lang="en& ...

随机推荐

  1. git忽略项gitegnore配置

    在git中如果想忽略掉某个文件, 不让这个文件提交到版本库中,可以使用修改 .gitignore 文件的方法.这个文件每一行保存了一个匹配的规则 例如 # 此为注释 – 将被 Git 忽略 *.a # ...

  2. Uber优步北京第四组奖励政策

    优步北京第四组: 定义为2015年7月20日至今激活的司机(以优步后台数据显示为准) 滴滴快车单单2.5倍,注册地址:http://www.udache.com/如何注册Uber司机(全国版最新最详细 ...

  3. 北京Uber优步司机奖励政策(2月29日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  4. 北京Uber优步司机奖励政策(10月26日~11月1日)

    用户组:优步北京人民优步A组(适用于10月26日-11月1日) 滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/ ...

  5. clr via c#读书笔记四:call、callvirt

    1.嵌套类,就是定义在类中的类:嵌套类可以访问外部类的方法.属性.字段而不管访问修饰符的限制,但是外部类只能够访问修饰符为public.internal的嵌套类的字段.方法.属性: 2.CLR如何调用 ...

  6. CentOS6.5进不去系统,修复

    今天进系统出现问题了,然后在网上搜索了一下解决方案解决了,把解决方法记录下来,方便以后查阅. 输入root密码 #mount | grep "on /" //得到root用户所在分 ...

  7. java 泛型历史遗留问题

    Map<String,Integer> hashMap = new HashMap<String,Integer>(); hashMap.put(); // hashMap.p ...

  8. ortp代码简析

    ortp初始化 /** *    Initialize the oRTP library. You should call this function first before using *     ...

  9. 互联网行业求职课-教你进入BAT

    互联网行业求职课--教你进入BAT 课时1. 课程内容介绍.导师介绍.服务安排和介绍等 课时2. 互联网行业.职业选择指导 互联网公司选择: 大公司:收获:大平台,系统思维,系统培训,系统性的发展,薪 ...

  10. 【movable-area、movable-view】 可移动区域组件说明

    movable-area.movable-view 可移动区域组件 原型: <movable-area scale-area="[Boolean]"> <mova ...