原生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 = { ...
随机推荐
- android调用系统相机
Intent intent = new Intent(); intent.setPackage("com.android.camera"); intent.setAction(Me ...
- Struts2入门(一)
今天学习Struts2首先struts是一个成熟的框架.Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Cont ...
- [原创]CentOS下Radius服务器搭建
一. 实现环境: 1.系统:CentOS release 6.6 (Final) 2.需要软件包: 1) freeradius-2.1.12-6.e16.x86_64 freeradius-m ...
- 解决R语言临时文件目录的问题(tempdir、tempfile)
最近在调用SparkR的时候,当用copy_to函数将R中的数据框导入到Spark时,会在默认的tempdir()目录下(这里默认目录即为/tmp)产生巨大的临时文件, 严重影响R脚本的运行,最终一番 ...
- kafka 0.10.2 消息生产者
package cn.xiaojf.kafka.producer; import org.apache.kafka.clients.producer.KafkaProducer; import org ...
- JS实现鼠标移上去图片停止滚动移开恢复滚动效果
这是在做个人站的时候展示项目成果,因为不光需要展示,还需要介绍详细内容,就在滚动展示的地方做了这个效果以便于点开想要看的项目. 首先,要做的是一个需要滚动的区域.我前边写过一个关于图片循环滚动的示例, ...
- C语言之变量和数据类型
常量:程序在运行过程中无法对值进行更改. 变量:是在计算机内存空间一种表示,声明变量将会向计算机内存申请存储空间,用于保存数据,计算机的CPU会从内存中加载数据. 声明变量: 数据类型 变量名[=值 ...
- 编写原生的Node.js模块
导语:当Javascript的性能遭遇瓶颈,或者需要增强Javascript能力的时候,就需要依赖native模块来实现了. 应用场景 日常工作中,我们经常需要将原生的Node.js模块做为依赖并在项 ...
- Python一键升级所有 模块/package
import os,time allPackage=os.popen('pip list') allPackage=allPackage.read() allPackage=allPackage.sp ...
- 13 用Css做下拉菜单
<style type="text/css"> * { margin: 0px; padding: 0px; font-family: &quo ...