原生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 = { ...
随机推荐
- SpringMVC 3.2集成Spring Security 3.2集成mybaties
目录结构如下
- java中文件操作《一》
在日常的开发中我们经常会碰到对文件的操作,在java中对文件的操作都在java.io包下,这个包下的类有File.inputStream.outputStream.FileInputStream.Fi ...
- Ajax请求汇总(一)
刚开始结束Ajax请求的时候,那真的是迷迷糊糊,昏天暗地,通过学习的深入和翻阅各种资料.求助度娘,总结一下Ajax请求,与大家分享一下,希望能给学习Ajax的同学一些帮助,废话不多手,直接开始~~~ ...
- php中的数组遍历的几种方式
[(重点)数组循环遍历的四种方式] 1.使用for循环遍历数组 conut($arr);用于统计数组元素的个数. for循环只能用于遍历,纯索引数组!!!! 如果存在关联数 ...
- windows上使用SecureCRT连接linux
前言: SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件.这样操作的时候不必进入到linux桌面,可以更方便的 ...
- 一天搞定CSS:表格(table)--19
1.表格标签 表格标签的嵌套关系 <table> <!--表格头--> <thead> <!--表格行--> <tr> <!--表格列 ...
- Java文件流应用:剪切文件
剪切的实际操作是: 第一步,先复制文件到指定位置, 第二步,删除原文件,这样就实现了剪切 与复制文件相比,多了一步删除文件 注意:删除文件必须在流关闭后,才能删除,否则,删除不了. 实例代码 pack ...
- mysql基于binlog回滚工具_flashback(python版本)
update.delete的条件写错甚至没有写,导致数据操作错误,需要恢复被误操作的行记录.这种情形,其实时有发生,可以选择用备份文件+binlog来恢复到测试环境,然后再做数据修复,但是这样 ...
- 还原SQL SERVER系统库
还原SQL SERVER系统库 共需还原三个系统库,还原顺序:master>msdb>model 还原master (1).数据库配置管理器->数据库服务属性->启动参数-&g ...
- Discuz添加自定义模板广告
在做Discuz中广告的时候碰到个大问题,现在我需要做一个轮播的通屏广告位,调用广告图片的代码应该是以下代码:<ul> <li style="background: ...