js实现表单序列化的两种方法。
2016-12-07 11:26
525 查看
function serialize(form) { var parts = [], elems = form.elements, i = 0, len = elems.length, filed = null; for (; i < len; i++) { filed = elems[i]; switch (filed.type) { case "select-one": case "select-multiple": if (filed.name.length) { var j = 0, opt, optLen = filed.options.length; for (; j < optLen; j++) { opt = filed.options[j]; if (opt.selected) { parts.push(encodeURIComponent(filed.name) + "=" + encodeURIComponent(opt.value)); } } } break; case undefined: case "submit": case "reset": case "file": case "button": break; case "radio": case "checkbox": if (!filed.checked) { break; } default: if (filed.name.length && filed.value) { parts.push(encodeURIComponent(filed.name) + "=" + encodeURIComponent(filed.value)); } } } return parts.join("&"); }
这个方法重点用了HTML5中的FormData ,还有es6中for of循环。
function serialize(form) { var formData = new FormData(form), getValue = formData.entries(), parts = []; for (var pair of getValue) { parts.push(pair[0] + "=" + pair[1]); } return parts.join("&"); }
相关文章推荐
- js 回车提交表单两种实现方法
- 原生js实现form表单序列化的方法
- js 回车提交表单两种实现方法
- 两种阻止提交表单(form)的方法实现
- js实现div内容局部变色的两种方法
- js去除重复字符串两种实现方法
- 两种方法使用js读写cookie实现一个底部广告浮层效果
- css、js两种方法实现遮罩效果
- 两种方法使用js读写cookie实现一个底部广告浮层效果
- JS类中定义原型方法的两种实现的区别
- js防止表单重复提交的两种方法
- 原生Js 两种方法实现页面关键字高亮显示
- Jquery与JS两种方法仿twitter/新浪微博 高度自适应无缝滚动实现代码
- js获取表单值的两种方法
- 关于JS获取select值的两种实现方法
- JS类中定义原型方法的两种实现的区别
- 黑马程序员_学习日记73_725ASP.NET(禁用Cookie、ASP.NET中的重要对象、JavaScript实现AJAX、两种Json格式的序列化方法、JQuery中实现ajax的五种方法)
- jquery ajax提交表单数据的两种实现方法
- “js操作cookie” 与 “php操作cookie”,两种实现方法
- js读写cookie实现一个底部广告浮层效果的两种方法