大家都知道163的邮箱可以一次上传多张图片,他的上传其实是用javascript做的。最近把他的源码down了下来,找到了上传附件这部分,收集整理了下:
<script language=JavaScript>
function fAddAttach(){
var gAttchHTML='<div class="qrle text2">附件:</div><div class="le"><input type="file" name="attachfile[]" class="bot3" ></div><div class="le"><input type="button" name="Submit" value=" 删除 " class="bot2" id="btnDeleteReadAttach" /></div><span></span>';
var Attach=document.getElementById("dvReadAttach");
var spnList=Attach.getElementsByTagName("SPAN");
var spn=document.createElement("DIV");
spn.className="qrc4";
spn.innerHTML=gAttchHTML;
spn.childNodes[1].childNodes[0].name="attachfile[]" + spnList.length;
Attach.appendChild(spn); //增加gAttchHTML
fGetObjInputById(spn,"btnDeleteReadAttach").οnclick=function(){fDeleteAttach(this);};
document.getElementById("aAddAttach").innerHTML="继续添加附件";
Attach.style.display="";
if(spnList.length>1){
spn.childNodes[0].innerHTML=" ";
}
}
function fGetObjInputById(obj,id){
var inputList=obj.getElementsByTagName("INPUT");
for(var i=0;i<inputList.length;i++){
if(inputList[i].id==id){
return inputList[i];
}
}
return null;
}
function fDeleteAttach(obj){
try{
obj.parentNode.parentNode.parentNode.removeChild(obj.parentNode.parentNode);
var Attach=document.getElementById("dvReadAttach");
var spnList=Attach.getElementsByTagName("SPAN");
if(spnList.length==0){
document.getElementById("aAddAttach").innerHTML="添加附件";
Attach.style.display="none";
}else{
document.getElementById("aAddAttach").innerHTML="继续添加附件";
}
}catch(exp){
//fDebug("fDeleteAttach",exp.description);
}
}
</script>
<BODY>
<a href="javascript:fAddAttach();" id="aAddAttach">添加附件</a><div id="dvReadAttach" style="display:none">
</BODY>