zoukankan      html  css  js  c++  java
  • 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);
  • 相关阅读:
    不同进程间消息互发
    不同进程间消息互发
    div滤镜结合ajax,实现登录
    网页自适应不同浏览器和分辨率[转]
    DIV样式汇总
    用CSS中的Alpha实现渐变
    JavaScript中的null和undefined
    CSS教程:div垂直居中的N种方法[转]
    浏览器不兼容原因及解决办法
    JavaScript验证时间格式
  • 原文地址:https://www.cnblogs.com/top5/p/2105260.html
Copyright © 2011-2022 走看看