zoukankan      html  css  js  c++  java
  • FormData对象

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

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

     var formdata = new FormData();
    

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

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

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

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

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

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

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

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

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

    相关链接:Firefox 4: easier JS form handling with FormData

    https://gist.github.com/3120320

  • 相关阅读:
    Creating a generic Web Parts for hosting ASP.NET User Controls
    Speed Up SQL Server Apps 提高SQL Server应用程序的运行效率 (Part 1)
    How to use CreateChildContorls method inherited from System.Web.UI.Control
    How to quickly access Web Part Management Page
    SQL Script tips for MS SQL Server
    How to enable single signon service on the SPS
    A brief summary of UML & Rational Rose – Use Case Diagram, Part II
    Borland Together for Visual Studio.Net V2.0 安装问题
    Speed Up SQL Server Apps 提高SQL Server应用程序的运行效率 (Part 2)
    体验ReSharper V1.0 for VS.Net 2003 Part I
  • 原文地址:https://www.cnblogs.com/rubylouvre/p/2028827.html
Copyright © 2011-2022 走看看