原生JS实现表单序列化serialize()】的更多相关文章

有一个form表单,要用AJAX后台提交,原来想拼接json,但是数据多了麻烦,不灵活. 用HTML5的FormData来初始化表单 var formdata=new FormData(document.getElementById("advForm")); 看似还可以,但发现有两个问题, 一,formdata.get()方法不知为什么用不了 二,Form Data 数据格式不如Jq的简洁, WebKitFormBoundary29h06FRZequJgQtR var stu={ na…
在开发中有时需要在js中提交form表单数据,就需要将form表单进行序列化. jquery提供的serialize方法能够实现. $("#searchForm").serialize(); 但是,观察输出的信息,发现serialize()方法做的是将表单中的数据以htpp请求格式拼接成字符串. 例如以下代码: <form id="searchForm"> <input name="id" value="123&quo…
最近在学原生的js,把一些练手的代码往博客放一放,权当积累经验,若有错漏,或是觉得浅显,大家不要见怪. 这是一个原生js编写的简单的表单验证: <!DOCTYPE html><html><head><script>function a(){ var b=document.getElementById('xxx1').value; var c=document.getElementById('xxx2').value; if(b!=c){ if(documen…
先上效果图: 表单的基础内容就是昵称判断.手机号判断.邮箱判断.身份证号码判断,这里是用到正则验证检验格式. 页面的表单写法就是一个form的提交.输入框用input来实现,输入内容用value来获取.每个输入框用唯一的ID名字来标记: <body> <div class="content"> <div class="title">用户注册</div> <form onsubmit="return fa…
表单验证是web前端最常见的功能之一,也属于前端开发的基本功.自己完成一个表单验证的开发,也有助于加深对字符串处理和正则表达式的理解. 基本的表单验证包括如:字母验证.数字验证.字母和数字验证.汉字验证.密码验证.日期验证.手机验证.邮箱验证,密码验证等. 现在就来完成这些验证代码的编写,先来看字母是怎么验证的.先编写需要的html代码,创建一个id为formContainer的表单元素,在里面加入需要验证英文字母的文本框和按钮,文本框后面需要一个span元素存放提示文字.如下所示: <form…
/********************* 表单提交 ***********************/ function ajax(options) { options = options || {}; options.type = (options.type || "GET").toUpperCase(); options.dataType = options.dataType || "json"; var params = formatParams(optio…
/* W3C浏览器下的 */ var forms = document.getElementById("from") forms.addEventListener('submit',function(evt){ evt.preventDefault(); }); /* IE浏览器下的 */ forms.attachEvent('onsubmit',function(){ console.log( '表单提交了' ); window.event.returnValue = false;…
function serialize(form) { var parts = [], elems = form.elements, i = , len = elems.length, filed = null; for (; i < len; i++) { filed = elems[i]; switch (filed.type) { case "select-one": case "select-multiple": if (filed.name.lengt…
相信很多人都用过jq的表单序列化serialize()方法,因为这能很方便地帮你把表单里所有的非禁用输入控件序列化为 key/value 对象,不需要你再去一个个地拼接参数了. 这是一个很好用的函数,用过的你肯定知道.但是ghostsf最近发现一个小bug(也许不应该叫bug,姑且称之).就是当radio或checkbox 未选中时,没有序列化到对象中. 什么原因呢?下面分析之:瞄一眼源码:From jQuery JavaScript Library v2.1.4 jQuery.fn.exten…
当我们有form表单而且里面的表单元素较多时,咱们总不能一个个去获取表单元素内的值来进行拼接吧!这样会很让人蛋疼!为了方便与后台交互并且提高自己的开发效率,并且不让你蛋疼:我们一起用原生来写一个表单序列化方法: 先介绍一下jquery中有相应的表单序列化的方法: 1.serialize()方法 格式:var data = $("form").serialize(); 功能:将表单内容序列化成一个字符串. 这样在ajax提交表单数据时,就不用一一列举出每一个参数.只需将data参数设置为…