当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 对象化JS之----文件上传客户端控制脚本

Javascript
Javascript-Mozilla和IE中的一个函数直接量的问题分析
TopList标签和JavaScript结合两例
javascript-TreeView父子联动效果保持节点状态一致
不错的JS中变量相关的细节分析
解决使用attachEvent函数时,this指向被绑定的元素的问题的方法
根据地区不同显示时间的javascript代码
javascript下查找父节点的简单方法
分享别人写的一个小型js框架
封装好的省市地区联动控件附下载
权威JavaScript 中的内存泄露模式
JavaScript 编程引入命名空间的方法与代码
IE/FireFox具备兼容性的拖动代码
分析 JavaScript 中令人困惑的变量赋值
推荐一个小巧的JS日历
让回调函数 showResponse 也带上参数的代码
增强的 JavaScript 的 trim 函数的代码
高亮闪烁某个元素的js脚本
用JavaScript 处理 URL 的两个函数代码
JavaScript 模仿vbs中的 DateAdd() 函数的代码
用js实现随机返回数组的一个元素

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-10   浏览: 440 ::
收藏到网摘: n/a

<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>