在项目中,对于数据的传输一般需要非空的判断,而数据字段较多时一般直接将表单序列化,此时如何判断非空,如下

因为将表单序列化时,数据格式为

trainKind=1&trainKindCode=1&trainTypeCode=1&selfWeight=1&weight=1&volume=1&loadPrice=1&length=1&width=1&hight=11&remark=1

所以可以将字段与对应的值分隔开,循环判断

var data = $('#addTypeForm').serialize();
                var msg = '';
                console.log(data);
                var array = data.split("&");
                for (var i = 0; i < array.length; i++) {
                    var kwarr = array[i].split("=");
                    console.log(kwarr);
                    for (var j = 0; j < kwarr.length; j++) {
                    if (kwarr[j] == null || kwarr[j] == '') {
                        $("#msgs").html('请把必填信息填上');
                    $("#promptIdModals").modal();
                    $('#showMask', window.parent.document).show();
                        return false;
                    }
                    }  
                }

其中的console.log(kwarr)格式为:

(2) ["trainKind", "1"]0: "trainKind"1: "1"length: 2__proto__: Array(0)
list.do:57 (2) ["trainKindCode", "1"]
list.do:57 (2) ["trainTypeCode", "1"]
list.do:57 (2) ["selfWeight", "1"]
list.do:57 (2) ["weight", "1"]
list.do:57 (2) ["volume", "1"]
list.do:57 (2) ["loadPrice", "1"]
list.do:57 (2) ["length", "1"]
list.do:57 (2) ["width", "1"]
list.do:57 (2) ["hight", "11"]
list.do:57 (2) ["remark", "1"]

js表单序列化时,非空判断的更多相关文章

  1. 原生js表单序列化----- FormData

    <style type="text/css"> .progress{ height: 10px; width: 600px; border: 1px solid red ...

  2. 原生JS表单序列化

    // 表单序列化,IE9+ HTMLFormElement.prototype.serialize = function() { var form = this; // 表单数据 var arrFor ...

  3. 7 Javascript:表单与验证-非空验证

    表单提交前要检查数据的合法性 在要对表单里的数据进行验证的时候,能够利用getElementById()来訪问网页上不论什么一个元素 每一个表单域都有一个form对象,可被传给不论什么验证表单数据的函 ...

  4. jQuery使用serialize()表单序列化时出现中文乱码问题&js获取url中的参数,并保证获取到的参数不乱码

    序列化中文时之所以乱码是因为.serialize()调用了encodeURLComponent方法将数据编码了 解决方法就是进行解码 原因:.serialize()自动调用了encodeURIComp ...

  5. Js 表单序列化

    http://www.w3cmm.com/javascript/serialize-form.html

  6. [备忘]js表单序列化代码

    function serialize(form) { var parts = [], elems = form.elements, i = 0, len = elems.length, filed = ...

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

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

  8. (转)jquery serialize表单序列化,当radio或checkbox 未选中时,没有序列化到对象中的原因分析和解决方案 - ghostsf

    相信很多人都用过jq的表单序列化serialize()方法,因为这能很方便地帮你把表单里所有的非禁用输入控件序列化为 key/value 对象,不需要你再去一个个地拼接参数了. 这是一个很好用的函数, ...

  9. 原生js实现form表单序列化

    当我们有form表单而且里面的表单元素较多时,咱们总不能一个个去获取表单元素内的值来进行拼接吧!这样会很让人蛋疼!为了方便与后台交互并且提高自己的开发效率,并且不让你蛋疼:我们一起用原生来写一个表单序 ...

随机推荐

  1. POJ1033 Defragment

    题目来源:http://poj.org/problem?id=1033 题目大意: 某操作系统的文件系统中,所有的磁盘空间被分为N个大小相等的cluster,编号1至N.每个文件占用一个或多个clus ...

  2. Javascript专题(三)c.各种轮播--上下滚动轮播(面向对象版本)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. 简单的PHP+Mysql实现分页

    <?php /** * PHP+Mysql实现分页 * **/ ?> <html> <head> <meta http-equiv="Content ...

  4. Domain Model

    VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来. DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的 ...

  5. C# ThreadLocal

    ThreadLocal的主要作用是让各个线程维持自己的变量. .NET 4.0在线程方面加入了很多东西,其中就包括ThreadLocal<T>类型,他的出现更大的简化了TLS的操作.Thr ...

  6. Android启动时闪一下黑屏或者白屏

    1.设定主题,此主题为透明的,加入到res/values/styles.xml中: <style name="Theme.AppStartLoadTranslucent" p ...

  7. 引用 Session详解 作者:郎云鹏

    本文转载自leeldy<Session详解 作者:郎云鹏>   引用 leeldy 的 Session详解 作者:郎云鹏 目录: 一.术语session 二.HTTP协议与状态保持 三.理 ...

  8. SpringMVC04 很杂很重要(注解,乱码处理,通配符,域属性调用,校正参数名称,访问路径,请求、响应携带参数,请求方法)

    1.导入架包 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3 ...

  9. 禁止Asp.Net WebService 的Test页面功能

    只需要Web.Config里面添加: <system.web> <webServices> <protocols> <remove name="Ht ...

  10. Erlang 001--开篇

    有段时间没有更新博客了,最近稍微接触了下一门相对小众的语言Erlang,个人感觉学习一段时间有必要总结总结,本文作为该系列的开篇,仅仅列举一些与Java的一些不同点和个人对Erlang的一些主观印象, ...