市面上当然有很多成型的框架,比如jquery的validation插件各种吧。现在工作地,由于前端童鞋也没用这些个插件。根据业务的要求,自己就在代码里写了个简单的表单提交的检测代码(php的也写了一个哈哈),类也封装的不太完善,很多校验规则也没做,类里边对传入参数也没做啥改动,算是不健壮吧(主要自己不会坑自己,老实的该传什么就传什么了哈哈)。业务上主要就是对表单字段的必填啊,类型啊,长度这些个限制。

	<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript"> function Submit_check(obj){
this.obj = obj;
this.str = '';
this.arr = {
'empty_arr':[[], '不能为空'], // 元素为空数组
'type_arr':[[], '类型不正确'], // 元素类型不正确
'length_arr':[[], '字符过长'] // 元素过长
};
this.alert_str = function(){
// 遍历满足情况
for(var x in this.obj){
var name = this.obj[x][0];// 表单字段的中文名
var value = this.obj[x][1];// 字段的值
// 为空
if (typeof value == 'undefined' || value == '' ){
this.arr.empty_arr[0].push(name);
} else {
// 类型错误
if (this.obj[x][3] !='' && this.obj[x][3] != typeof value) this.arr.type_arr[0].push(name);
// 长度过长
if (this.obj[x][2] !=0 && this.obj[x][2] < value.length) this.arr.length_arr[0].push(name);
}
}
// 输出str
for(var y in this.arr){
if (this.arr[y][0].length){
this.str += this.arr[y][0].join(',')+' '+this.arr[y][1]+'\n';
}
}
return this.str;
}
} var a1 = 'b',
  b1 = 12,
  c1 = 'aaadsfaaaaaab',
  d1 = 'a',
   e1 = ''; // key->表单字段英文名 value内数组顺序-->字段中文名、值、长度、类型;
// 长度为0表示不需要检测长度;类型为空表示不需要检测类型
var obj = {
'a' : ['地球', a1, 10, 'number'],
'b' : ['火星', b1, 0, 'number'],
'c' : ['月球', c1, 8, ''],
'd' : ['土星', d1, 12, 'string'],
'e' : ['木星', e1, 8, '']
};
var str = new Submit_check(obj).alert_str();
if (str){
alert(str);
} </script>

  

代码段:js表单提交检测的更多相关文章

  1. js表单提交,判断文本框,用户名密码是否为空,JS表单检测!

    当表单提交时先触发验证的js代码,当验证表单的方法返回true时才会提交表单返回false则不提交数据<script type="text/javascript">fu ...

  2. 原生JS 表单提交验证器

    转载:http://www.cnblogs.com/sicd/p/4613628.html 一.前言 最近在开发一个新项目,需要做登陆等一系列的表单提交页面.在经过“缜密”的讨论后,我们决定 不用外部 ...

  3. js表单提交,面向对象

    一.js表单验证之后再提交 1.普通按钮onclick函数调用表单的submit()函数 <input type=button name="submit1" value=&q ...

  4. JS表单提交的几种方式

    第一种方式 : 表单提交,在 form 标签中增加 onsubmit 事件来判断表单是否提交成功 <script type="text/javascript"> fun ...

  5. js表单提交回调函数

    在研究表单的时候发现一个有意思的东西——在表单提交的时候如何保证数据全部提交完毕才会清空? 我们常用的<input type="reset" value="重置&q ...

  6. js表单提交一种方式

    在一个html和php混编的文件中,用到js提交表单的方法: 定义表单id为form1,提交按钮type为submit, var data_info = document.getElementById ...

  7. html js 表单提交前检测数据

    通过使用form的onsibmit来控制是否提交数据 返回值为真是提交,其他不变,示例如下: JS部分 function check() { var newPwd = document.getElem ...

  8. js 表单提交

    方式一: 使用input type="submit" 提交 <form action="http://www.w3school.com.cn/tiy/loadtex ...

  9. js表单提交到后台对象接收

    $.extend({ StandardPost:function(url,args){ var form = $("<form method='post' target='_blank ...

随机推荐

  1. element-ui Steps步骤条组件源码分析整理笔记(九)

    Steps步骤条组件源码: steps.vue <template> <!--设置 simple 可应用简洁风格,该条件下 align-center / description / ...

  2. 实验:JS判断浏览器中英文版本

    <script type="text/javascript"> var lang = (navigator.systemLanguage?navigator.syste ...

  3. ISDBT中CC的处理疑问

    一个针对日本的数字电视应用(ISDBT)里字幕处理有一些问题,规范文档庞大又复杂,读起来还觉得语焉不详.接手遗留项目尝试处理字幕显示的问题,边读spec边看代码,先猜测.试图理解既有逻辑,再分析问题产 ...

  4. mac下/usr/local/bin No such file or directory问题解决

    在对composer进行全局配置时,执行 sudo mv composer.phar /usr/local/bin/composer 时,mac报错:/usr/local/bin No such fi ...

  5. Spring Boot系列学习文章(一) -- Intellij IDEA 搭建Spring Boot项目

    前言: 最近做的一个项目是用Spring Boot来做的,所以把工作中遇到的一些知识点.问题点整理一下,做成一系列学习文章,供后续学习Spring Boot的同仁们参考,我也是第一次接触Spring ...

  6. [我的阿里云服务器] —— WordPress Permalink Settings

    前言: 固定链接(Permalink)是博客日志.分类及其他博客内容列表的永久URL. 别人可以通过固定链接链接到你的文章上,你也可以在email中发送某篇日志的链接. 所有日志的URL应为永久性.固 ...

  7. LeetCode题解之Reorder List

    1.题目描述 2.题目分析 首先将链表分为两段,然后将后面的一段反转,再合并两个链表. 3.代码 void reorderList(ListNode* head) { if (head == null ...

  8. 使用 Azure PowerShell 模块创建和管理 Windows VM

    Azure 虚拟机提供完全可配置的灵活计算环境. 本教程介绍 Azure 虚拟机的基本部署项目,例如选择 VM 大小.选择 VM 映像和部署 VM. 你将学习如何执行以下操作: 创建并连接到 VM 选 ...

  9. [Synology] [群晖] 关闭被占用的文件

    1. Control Panel: Control Panel > Terminal & SNMP Enable SSH service 2. SSH into Synology 3. ...

  10. Spark 分布式调试工具

    0. 说明 编写工具类,考察 Spark 分布式程序的执行地点 1. 工具类编写 [ JMX ] Java Management Extend , Java 管理扩展服务. 主要用于运维和监控. [测 ...