• IE和FireFox 对FORM enctype属性的认识存在差异


    IE和FireFox 对FORM enctype属性的认识存在差异,一般来说对于动态创建的form,如果因为要上传文件的原因很自然的会使用类似如下的代码:  


    1  //create form
    2  this.form = document.createElement("FORM");
    3  this.form.id = "jasonUploadForm";
    4  this.form.name = "jasonUploadForm";
    5  this.form.method = "post";
    6  this.form.action = actionTarget;
    7  this.form.enctype = "multipart/form-data";
    8  document.body.appendChild(this.form);

     

    这段代码表面上看没有什么问题,但在IE中却还是无法改变FORM的编码格式,

    也就是说传到服务端的ContentType仍然是:"application/x-www-form-urlencoded”.

    但在FireFox中却能正确识别,也就能正常上传文件。

    那如何才能使IE和FireFox都能正确按照我们的要求编码FORM 数据呢?找了N久终于找到了解决方案,就是直接指定encoding就行了,且看如下正确的代码:


     1  //create form
     2  this.form = document.createElement("FORM");
     3  this.form.id = "jasonUploadForm";
     4  this.form.name = "jasonUploadForm";
     5  this.form.method = "post";
     6  this.form.action = actionTarget;     
     7     
     8  //this.form.setAttribute("enctype", "multipart/form-data");
     9  this.form.encoding = "multipart/form-data";
    10         
    11  document.body.appendChild(this.form);
  • 相关阅读:
    Delphi中WebBbrowser的编程 转
    博客园设置目录
    iTerm
    python
    谷歌浏览器插件的导出导入
    Chapter10 属性
    WPF之Binding
    ASP.NET 路由系统
    Silverlight中使用Application.GetResourceStream方法加载资源时得到的总是null
    基于IoC的ControllerFactory
  • 原文地址:https://www.cnblogs.com/top5/p/2105260.html
Copyright © 2020-2023  润新知