博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第一百五十九节,封装库--JavaScript,表单序列化结合ajax提交数据
阅读量:5837 次
发布时间:2019-06-18

本文共 2688 字,大约阅读时间需要 8 分钟。

封装库--JavaScript,表单序列化结合ajax提交数据

 

封装库,表单序列化方法

/** xu_lie_biao_dan()方法,表单序列化方法,将自动获取指定表单里面的各项字段name值和value值,无法连缀 *  参数是要获取指定表单的原生态对象 *  返回,包含表单数据的对象,如,{表单数据} **/feng_zhuang_ku.prototype.xu_lie_biao_dan = function (form) {    var parts = {};            for (var i = 0; i < form.elements.length; i++) {    //根据表单字段长度循环                var filed = form.elements[i];                   //得到没一项表单的字段                switch (filed.type) {                           //判断得到字段的属性                    case undefined:                    case 'submit':                    case 'reset':                    case 'file':                    case 'button':                        break;                                   //如果是以上几种的一种直接跳出                    case 'radio':                    case 'checkbox':                        if (!filed.selected) break;              //如果是以上两种,判断是否被勾选,没勾选直接跳出                    case 'select-one':                    case 'select-multiple':                        for (var j = 0; j < filed.options.length; j++) {     //下拉选项                            var option = filed.options[j];                            if (option.selected) {                                var optvalue = '';                                if (option.hasAttribute) {                   //非ie                                    optvalue = (option.hasAttribute('value') ? option.value : option.text);             //value值存在取value值,value值不存在取text值                                } else {  //ie                                    optvalue = (option.attributes('value').specified ? option.value : option.text);     //value值存在取value值,value值不存在取text值                                }                                parts[filed.name] = optvalue;                                                           //如果不是以上情况,将表单字段的name值加上value值,添加到对象                            }                        }                        break;                    default:                        parts[filed.name] = filed.value;                                                                //如果不是以上情况,将表单字段的name值加上value值,添加到对象                }            }            return parts;};

 

表单序列化结合ajax提交数据效果图

 

提交到hj.php,返回

 

前台js

var biaodan = $().xu_lie_biao_dan($('form').sh_jd());   //序列化获取表单数据,返回对象        $().Ajax({                            //执行Ajax数据传输            method:'post',                    //post方式发送            url:'hj.php',                     //发送到hj.php            data:biaodan,                     //发送内容,序列化获取到的表单对象            success:function (text) {         //执行回调函数                alert(text);                  //打印出hj.php接收到的数据            },            async:true                        //异步模式        });

 

hj.php

 

转载地址:http://lujcx.baihongyu.com/

你可能感兴趣的文章
Android开发之旅:应用程序基础及组件(续)
查看>>
jQuery validate API
查看>>
基于机器学习的web异常检测——基于HMM的状态序列建模,将原始数据转化为状态机表示,然后求解概率判断异常与否...
查看>>
分享一种需求评审的方案
查看>>
Java中需要注意的一些案例
查看>>
虚拟运营商10月或大面积放号 哭穷背后仍有赢家
查看>>
Server2016开发环境配置
查看>>
分布式光伏发电建设中的逆变器及其选型
查看>>
发展物联网 构建智能连接
查看>>
增强网络安全防御 推动物联网走向应用
查看>>
UML中关联,组合与聚合等关系的辨析
查看>>
《大数据管理概论》一3.2 大数据存储与管理方法
查看>>
PowerBuilder开发简单计算器
查看>>
从HDFS看分布式文件系统的设计需求
查看>>
怎样使用linux的iptables工具进行网络共享
查看>>
《HTML5与CSS3实战指南》——导读
查看>>
RHEL6下安装oracle 10g(一)
查看>>
Redhat 7 httpd 显示wsgi页面
查看>>
Kconfig的格式
查看>>
Uncaught TypeError: xxx.submit is not a function解决方案
查看>>