码迷,mamicode.com
首页 > 其他好文 > 详细

FormData对象

时间:2016-11-23 14:46:39      阅读:1199      评论:0      收藏:0      [点我收藏+]

标签:com   有意思   sub   提交   end   意思   ++   serialize   修改   

FF4中增加了一个很有意思的对象,FormData。通常我们提交(使用submit button)时,会把form中的所有表格元素的name与value组成一个queryString,提交到后台。这用jQuery的方法来说,就是serialize。但当我们使用Ajax提交时,这过程就要变成人工的了。因此,FormData对象的出现可以减少我们一些工作量。

想得到一个FormData对象,很简单:

1 var formdata = new FormData();

但一个空的FormData对象对我们没有意义,因此W3c草案提供了三种方案来获取或修改FormData。

方案1:创建一个空的FormData对象,然后再用append方法逐个添加键值对:

1 var formdata = new FormData();
2 formdata.append("name", "司徒正美"); 
3 formdata.append("blog", "http://www.cnblogs.com/rubylouvre/");

方案2:取得form元素对象,将它作为参数传入FormData对象中!

1 var formobj =  document.getElementById("form");
2 var formdata = new FormData(formobj);

方案3:利用form元素对象的getFormData方法生成它!

1 var formobj =  document.getElementById("form");
2 var formdata = formobj.getFormData()

注意,formdata是一个不透明的对象,现在暂时只有一个append可以操作,不能通过序列化手段得到其里面的内容,这实在是遗憾。它的用法现在也只有一个,用于增强型的XMLHttpRequest对象的send方法中去!

1 var formElement = document.getElementById("myFormElement");
2 formData = formElement.getFormData();
3 formData.append("serialnumber", serialNumber++);
4 xhr.send(formData);

FormData对象

标签:com   有意思   sub   提交   end   意思   ++   serialize   修改   

原文地址:http://www.cnblogs.com/softwarefang/p/6093526.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!