首页 > 代码库 > FormData对象
FormData对象
FF4中增加了一个很有意思的对象,FormData。通常我们提交(使用submit button)时,会把form中的所有表格元素的name与value组成一个queryString,提交到后台。这用jQuery的方法来说,就是serialize。但当我们使用Ajax提交时,这过程就要变成人工的了。因此,FormData对象的出现可以减少我们一些工作量。
想得到一个FormData对象,很简单:
1 var formdata = http://www.mamicode.com/new FormData();
但一个空的FormData对象对我们没有意义,因此W3c草案提供了三种方案来获取或修改FormData。
方案1:创建一个空的FormData对象,然后再用append方法逐个添加键值对:
1 var formdata = http://www.mamicode.com/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 = http://www.mamicode.com/new FormData(formobj);
方案3:利用form元素对象的getFormData方法生成它!
1 var formobj = document.getElementById("form"); 2 var formdata = http://www.mamicode.com/formobj.getFormData()
注意,formdata是一个不透明的对象,现在暂时只有一个append可以操作,不能通过序列化手段得到其里面的内容,这实在是遗憾。它的用法现在也只有一个,用于增强型的XMLHttpRequest对象的send方法中去!
1 var formElement = document.getElementById("myFormElement"); 2 formData =http://www.mamicode.com/ formElement.getFormData(); 3 formData.append("serialnumber", serialNumber++); 4 xhr.send(formData);
FormData对象
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。