原生js表单序列化----- FormData
<style type="text/css">
.progress{
height: 10px;
width: 600px;
border: 1px solid red;
}
.in{
height: 10px;
width: 5%;
background-color: green;
}
</style>
<form>
<input type="text" name="user" id="" value="" /><br />
<input type="password" name="pass" id="" value="" /><br />
<input type="file" name="files" id="" value="" />
<!--不用submit 和button 按钮,因为,这两种按钮会刷新页面-->
<!--<input type="submit" value=""/>-->
<input type="button" id="btn" value="请求数据" />
</form>
<div class="progress">
<div class="in"></div>
</div>
<script type="text/javascript">
var btn = document.getElementById('btn');
btn.onclick = function(){
var xhr = new XMLHttpRequest();
var f = document.querySelector('form');
//原生js表单序列化
var formdata = new FormData(f); //利用 FormData 注意事项 表单控件必须有name属性
xhr.open('post','03.php');
//绑定进度条事件
xhr.upload.onprogress = function(e){ //xlm2.0 新增的属性
var value = e.loaded/e.total;
console.log(value);
document.querySelector('.in').style.width = value*100+'%';
}
xhr.send(formdata);
xhr.onreadystatechange = function () {
if(xhr.readyState == 4 && xhr.status==200){
document.body.innerHTML += "<img src="+ xhr.responseText +" />"
}
}
}
原生js表单序列化----- FormData的更多相关文章
- 原生JS表单序列化
// 表单序列化,IE9+ HTMLFormElement.prototype.serialize = function() { var form = this; // 表单数据 var arrFor ...
- js表单序列化时,非空判断
在项目中,对于数据的传输一般需要非空的判断,而数据字段较多时一般直接将表单序列化,此时如何判断非空,如下 因为将表单序列化时,数据格式为 trainKind=1&trainKindCode=1 ...
- 原生JS 表单提交验证器
转载:http://www.cnblogs.com/sicd/p/4613628.html 一.前言 最近在开发一个新项目,需要做登陆等一系列的表单提交页面.在经过“缜密”的讨论后,我们决定 不用外部 ...
- Js 表单序列化
http://www.w3cmm.com/javascript/serialize-form.html
- [备忘]js表单序列化代码
function serialize(form) { var parts = [], elems = form.elements, i = 0, len = elems.length, filed = ...
- 原生JS实现表单序列化serialize()
有一个form表单,要用AJAX后台提交,原来想拼接json,但是数据多了麻烦,不灵活. 用HTML5的FormData来初始化表单 var formdata=new FormData(documen ...
- 原生js实现form表单序列化
当我们有form表单而且里面的表单元素较多时,咱们总不能一个个去获取表单元素内的值来进行拼接吧!这样会很让人蛋疼!为了方便与后台交互并且提高自己的开发效率,并且不让你蛋疼:我们一起用原生来写一个表单序 ...
- js进阶 14-8 表单序列化函数serializeArray()和serialize()的区别是什么
js进阶 14-8 表单序列化函数serializeArray()和serialize()的区别是什么 一.总结 一句话总结:两者都是对表单进行序列化,serializeArray()返回的是json ...
- 表单序列化json字符串和js时间格式化
js时间格式化 new Date().format("时间格式") Date.prototype.format = function(fmt) { var o = { ...
随机推荐
- Google Android Studio Kotlin 开发环境配置
Google 近日开发者大会宣布Kotlin成为Android开发的第一级语言,即Android官方开发语言,可见Google对Kotlin的重视,本文就介绍一下Android Studio下的Kot ...
- oracle数据库常用的99条查询语句(转载)
1. select * from emp; 2. select empno, ename, job from emp; 3. select empno 编号, ename 姓名, job 工作 fro ...
- mysql远程授权
切换到mysql的mysql数据库,找到user表: cmd:mysql -u root -p cmd:use mysql; cmd:select host,user,password from us ...
- JSP/Servlet Web 学习笔记 DayTwo
JSP指令 a)page指令 定义JSP文件中的全局属性.一个JSP页面可以包含多个page指令.除了Import以外,其他page指令定义的属性/值只能出现一次. 其详细语法为: <%page ...
- 网络编程应用:基于TCP协议【实现一个聊天程序】
要求: 基于TCP协议实现一个聊天程序,客户端发送一条数据,服务器端发送一条数据 客户端代码: package Homework1; import java.io.IOException; impor ...
- Java常用类之【八种基本数据类型】
一.装箱和拆箱 装箱:将基本数据类型包装为对应的包装类对象 拆箱:将包装类对象转换成对应的基本数据类型 JDK5.0中为基本数据类型提供了自动装箱(boxing).拆箱(unboxing)功能 二.八 ...
- DOM知识梳理
DOM 我们知道,JavaScript是由ECMAScript + DOM + BOM组成的.ECMAScript是JS中的一些语法,而BOM主要是浏览器对象(window)对象的一些相关知识的集合. ...
- java基础(五章)
一. 调试 步骤1:设置断点(不能在空白处设置断点) 步骤2:启动调试 步骤3:调试代码(F6单步跳过)笔记本Fn+F6(F5) 步骤4:结束调试 掌握调试的好处? l 很清晰的看到, ...
- spring-boot+mybatis开发实战:如何在spring-boot中使用myabtis持久层框架
前言: 本项目基于maven构建,使用mybatis-spring-boot作为spring-boot项目的持久层框架 spring-boot中使用mybatis持久层框架与原spring项目使用方式 ...
- Dojo初探之4:dojo的event(鼠标/键盘)事件绑定操作(基于dojo1.11.2版本)
前言: 上一章详解了dojo的dom/query操作,本章基于dom/query基础上进行事件绑定操作 dojo的事件 dojo的事件绑定操作分为鼠标和键盘两种进行详解 1.鼠标事件 我们沿用上一章中 ...