原生表单序列化
随着Ajax的出现,表单序列化已经成为一种需求,在学习原生Ajax时,若用POST方法向后台提交数据时,就需要将表单序列化
在JavaScript中可以利用表单字段的type属性,连同name和value属性,一起实现表单的序列化。
在进行表单序列化之前,需要弄清楚在表单提交期间,浏览器是怎样将数据发送给服务器的。
实现表单序列化的函数为:
function serialize(form){ var parts=[], field=null, i, len, j, optLen, option, optValue; for (i = 0; i < form.elements.length; i++) { field=form.elements[i]; switch (field.type) { case 'select-one': case 'select-multiple': if(field.name.length){ for (var j = 0; j < field.options.length; j++) { option=field.options[j]; if (option.selected) { optValue=""; if (option.hasAttribute) { optValue=(option.hasAttribute('value') ? option.value : option.text); }else{ optValue=(option.attribute['value'].specified ? option.value : option.text); } parts.push(encodeURIComponent(field.name) + "=" + encodeURIComponent(optValue)); } } } break; case undefined: //字段集 case "file": //文本输入 case "submit": //提交按钮 case "reset": //重置按钮 case "button": //自定义按钮 break; case "radio": //单选按钮 case "checkbox": //复选框 if (!field.checked) { break; } //执行默认操作 default: //不包含没有名字的表单字段 if(field.name.length){ parts.push(encodeURIComponent(field.name) + "=" + encodeURIComponent(field.value)); } } } return parts.join("&"); }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍jQuery序列化表单成对象的简单实现,包括了jQuery序列化表单成对象的简单实现的使用技巧和注意事项,需要的朋友参考一下 在使用easyui的datagrid组件时,在查询时传递的查询参数是对象类型,为了方便,扩展了jquery中的序列化方法,调用该方法,可以将表单的所有数据序列化 具体使用: 以上这篇jQuery序列化表单成对象的简单实现就是小编分享给大家的全部内容了,希望能给
本文向大家介绍jquery实现ajax提交表单信息的简单方法(推荐),包括了jquery实现ajax提交表单信息的简单方法(推荐)的使用技巧和注意事项,需要的朋友参考一下 最近在思考优化项目,想自己扩展一个jquery自动获取表单中的数据进行ajax提交。本人没有完整性学习jquery,基本上是现学现找,有点困难。 主要是扩展和拼接json转对象 很简单,附上代码: 使用的话配合jquery va
问题内容: 我正在尝试使用JSON(使用simplejson)序列化python对象列表,并收到以下错误:对象“不可JSON序列化”。 该类是一个简单的类,其字段只有整数,字符串和浮点数,并且从一个父超类继承相似的字段,例如: foo,bar是我上面提到的简单类型。唯一棘手的事情是,ChildClass有时具有一个字段,该字段引用另一个对象(类型不是ParentClass或ChildClass)。
本文向大家介绍Python实现简单HTML表格解析的方法,包括了Python实现简单HTML表格解析的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python实现简单HTML表格解析的方法。分享给大家供大家参考。具体分析如下: 这里依赖libxml2dom,确保首先安装!导入到你的脚步并调用parse_tables() 函数。 1. source = a string contai
本文向大家介绍php+ajax简单实现全选删除的方法,包括了php+ajax简单实现全选删除的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php+ajax简单实现全选删除的方法。分享给大家供大家参考,具体如下: ↑全选checkbox ↑为删除项,同一命名class为ckb,方便操作,同时将id值巧妙的放入input中,方便获取。 ↑选中事件 ↑删除用ajax来处理。 ↓后台操作数
本文向大家介绍jQuery+ajax简单实现文件上传的方法,包括了jQuery+ajax简单实现文件上传的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery+ajax简单实现文件上传的方法。分享给大家供大家参考,具体如下: 可以通过ajax来提交表单,而不会刷新页面。主要使用的方法是 $("#formID").ajaxSubmit()方法。 1、要引入js插件 需要下载的附件