对象化JS之----文件上传客户端控制脚本

来源:互联网 发布:苹果air装windows 编辑:程序博客网 时间:2024/05/16 07:30

<SCRIPT LANGUAGE=javascript>
onload=function(){
 var lofile = new upfile();
}

function upfile(aoP){
    var loThis = document.createElement("SPAN");
 var lsuniqueID = loThis.uniqueID;
    loThis.innerHTML = '<select style="width:200"></select><button onclick="'+lsuniqueID+'.Del()">删除</button><span><span><input style="width:10" type="file" onpropertychange="'+lsuniqueID+'.Add(this)"></span></span>';
    if (aoP==null){
        document.body.appendChild(loThis);
    }else{
        aoP.appendChild(loThis);
    }
    var loSelect = loThis.children[0];
    var loFiles  = loThis.children[2];
 loThis.Add = function(aoFile){
  if ((aoFile==null)||(aoFile.value=="")) return;
  var loOpts = loSelect.options;
  var lsfilename = aoFile.value.substring(aoFile.value.lastIndexOf("//")+1);
  loOpts[loOpts.length] = new Option(lsfilename,aoFile.uniqueID);
  loSelect.value = aoFile.uniqueID;
  aoFile.parentElement.style.display = "none";
  var loObj = document.createElement("span");
  loObj.innerHTML = '<input style="width:10" type="file" onpropertychange="'+lsuniqueID+'.Add(this)">';
  loFiles.insertBefore(loObj);
 }
 loThis.Del = function(){
  loEL = document.all(loSelect.value);
  if (loEL!=null){
   loEL = loEL.parentElement;
   loFiles.removeChild(loEL);
  }
  var loOpts = loSelect.options;
  if(loOpts!=null&&loOpts.length>0){
   loSel = loOpts[loSelect.selectedIndex]
   loOpts.removeChild(loSel);
  }
 }
 loThis.AddName = function(asName){
  if ((asName==null)||(asName=="")) return;
  var loOpts = loSelect.options;
  loOpts[loOpts.length] = new Option(asName,null);
 }
 loThis.getNames = function(){
  var loOpts = loSelect.options;
  var lxNames = new Array;
  for (var i=0; i<loOpts.length; i++){
   lxNames[lxNames.length] = loOpts[i].innerText;
  }
  return lxNames;
 }
 return loThis;
}
</SCRIPT>

原创粉丝点击