Ajax虽然不错,但无法上传文件,可以用隐藏的 IFrame 提交表单部分替代Ajax。
原理如下:
1.写一个Javascript类,动态添加一个IFrame。具体是在 document.body 对象中appendChild 如下结构:
这是通过Style的"display:none",来实现IFrame的不可见的;
不可以设成style="width:0px,height:0px,display:none",这样会导致一些浏览器不添加IFrame
首先用DOM的方式生成
,然后使用:
var i_div = document.getElementById("i_frame_div");
i_div.innerHTML=" ";
的方式将IFrame嵌入页面内;
注意,不要使用 DOM 的方式,这样会导致通过 IE 的 DOM 树不能正常获得IFrame内前网页的内容;
即不要采取如下形式:
var i_frame=document.createElement("IFrame");
i_frame.id="i_frame";
...
var i_div = document.getElementById("i_frame_div");
i_div.appendChild(i_frame);
这样的代码在
var i_div = document.getElementById("i_frame_div");
i_div.innerHTML=" ";
的方式将IFrame嵌入页面内;
注意,不要使用 DOM 的方式,这样会导致通过 IE 的 DOM 树不能正常获得IFrame内前网页的内容;
即不要采取如下形式:
var i_frame=document.createElement("IFrame");
i_frame.id="i_frame";
...
var i_div = document.getElementById("i_frame_div");
i_div.appendChild(i_frame);
这样的代码在