动态添加组件或是客户端控件以及事件(Mondify By LiFuyun)

52 篇文章 0 订阅
24 篇文章 0 订阅

邮件项目示例:

JS文件代码:(attach.js)

//--------------------------------------附件功能---------------------------------------------------
var currFocus;
var ExistAttaInfo = new Array();
var oldDelAttas = new Array();
var attaIdx = 0;
var IsIE;
function fInitMSIE(){
 if (navigator.userAgent.indexOf("MSIE") != -1){
  IsIE = true;
 }else{
  IsIE = false;
 }
}
fInitMSIE();

 

function fTrim(str){
 str = str.replace(/(^/s*)/,"");
 str = str.replace(/(/s*$)/,"");
 return str;
}

//本js文件用于compose.htm同时发送多个附件的js函数,支持 IE 和 NNx 系列。
//所有的函数都适用于 IE 和 NNx 系列,直接调用就可以
//函数里面会根据语句判断浏览器类型,然后依据不同的bowser属性增加元素
//主要功能是动态创建 各种表单元素 和 删除表单元素
//written by xpr

//    function list
//    -------------------------------------------------------------------------------------------------------------------
//    IsIEBrowser()  返回值: true(IE) false(NNx)
//    exist(fileId)  判断fileId是否已经存在
//    addInputFile(spanId,fileId)  在名为spanId 的元素里面增加序号为index的input file
//    addbr(spanId,brId)  在名为spanId 的元素里面增加id为brId的换行符
//    adddel(spanId,index) 在名为spanId 的元素里面增加序号为index的"删除"按钮,他可以删除相应的input file 和 br
//    addhidden(spanId,hiddenId,value)  在名为spanId 的元素里面增加id为hiddenId,值为value的input type=hidden
//    -------------------------------------------------------------------------------------------------------------------

var IsIE;
var attaIdx = 0;

//search,全局变量
//-----------------------------------------------------------------------------------------------------------
function IsIEBrowser() {
 if (navigator.userAgent.indexOf("MSIE") != -1) {
  return true;
 } else {
  return false;
 }
}

// 增加附件函数 (),增加到 idfilespan,基数为 attaIdx 。

function add() {

 addfile("idfilespan",attaIdx);
 attaIdx++;

 AutoHeight();

 return false;
}

//----------------------------------------fileexist()----------------------------------------------------------
//edited by alun
function exist(fileId,index) {
      var file = document.getElementById(fileId);
   var result = false;
   if ( file !=null ) {
   if ( file.value != null && file.value != "") {
    result = existFile( file);
    
   }//if
   }
   if( result)
   {
  alert("这个附件您已经添加过了,新添加的附件将被删除");
  //document.sendmail."+fileId+".value=""";
  var attach_num = fileId.substring(10,12);
  
  delfile("idfilespan",attach_num);
  
  //--attaIdx;
  //document.getElementById( "idAttachOper"+ attaIdx).click();
   }
 var span = document.getElementById("idfilespan");
        var filepath = file.value;
        var sizeid = document.getElementById('size'+index);
        var show_size = " " + getfilesize(filepath);
        var num = show_size.length;
        if(num==6){show_size = "  " + show_size;}
        else if (num==7){show_size = " " +show_size;}
        var text = document.createTextNode(show_size);
        var t_element = document.createElement('mm');
        t_element.id="size"+index;
        t_element.appendChild(text);
        span.replaceChild(t_element,sizeid);
 add();
}//end of function
//added by alun
function getfilename( attaName ) {
 var s = attaName.lastIndexOf( '//' );
 return attaName.substr(s+1, attaName.length - s -1);
}
//added by alun
function existFile( file)
{
 var form = document.sendmail;
 for ( var i= 0 ; i < form.elements.length ; i ++ ) {       
  if ( form.elements[i].type == "file" && form.elements[i].name != file.name ) {
   if ( file.value == form.elements[i].value ) {
    //alert(form.elements[i].value=null);
    return true;
   }
  }
 }//for
 for (var i=0; i<ExistAttaInfo.length; i++) {
  var theName = ExistAttaInfo[i];
  if ( theName != null && theName != "" && theName == getfilename(file.name) ) {
   return true;
  }
 }
 return false;
}
//----------------------------------------addfile(spanId,index)----------------------------------------------
function addfile(spanId,index)
{
       var strIndex = "" + index;
   
    var fileId = "attachfile"+ strIndex;
    var brId = "idAttachBr" + strIndex;
    addInputFile(spanId,fileId,index);

    adddel(spanId,index);

    addbr(spanId,brId);
    //document.getElementById( "attachfile"+ strIndex).click();
    return;
}
//-------------------------------------------sub fuction addInputFile-----------------------------------------
function addInputFile(spanId,fileId,index)
{
   var span = document.getElementById(spanId);
   if ( span !=null ) {
                 if ( !IsIE ) {
      var fileObj = document.createElement("input");
      if ( fileObj != null ) {
       fileObj.type="file";
       fileObj.name = fileId;
       fileObj.id = fileId;
       fileObj.size="50";
       var clickEvent = "exist('" + fileId + "')";
       fileObj.setAttribute("onclick",clickEvent,0); 
       span.appendChild(fileObj);
      }//if fileObj
     }// !IsIE

     if ( IsIE ) {
      var fileTag = "<input type='file'  id ='" + fileId + "' style='BORDER-RIGHT: #000000 1px solid; background-color: #FFFFFF; BORDER-TOP: #000000 1px solid; OVERFLOW: no; vertical-align: top;  BORDER-LEFT: #000000 1px solid; WIDTH: 83%; BORDER-BOTTOM: #000000 1px solid; HEIGHT: 20' size=50 name='" + fileId + "' size=50 οnchange=exist('" + fileId + "','"
+index+"')>";
      var fileObj = document.createElement(fileTag);
      span.appendChild(fileObj);
     }//IsIE if
   
   }//if span
}

function addbr(spanId,brId)
{
   var span = document.getElementById(spanId);
   if ( span !=null ) {
   var brObj = document.createElement("br");
   if ( brObj !=null ) {
    brObj.name = brId;
    brObj.id = brId;
    span.appendChild(brObj);
            }//i2f
     }//if
  return;
}

function adddel(spanId,index)
{
      var strIndex = "" + index;
   var delId = "idAttachOper" + strIndex;
   var span = document.getElementById(spanId);
   if ( span != null ) {
   var oTextNode = document.createElement("SPAN");
   oTextNode.style.width = "5px";
   span.appendChild(oTextNode);
      if ( IsIE ) {
         var tag = "<input type='submit' style='BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; OVERFLOW: no; BORDER-LEFT: #000000 1px solid;  BORDER-BOTTOM: #000000 1px solid; HEIGHT: 20' size=70 value='$subject'  id='" + delId + "' οnclick=delfile('" + spanId + "',"+strIndex+")></input>";
   var delObj = document.createElement(tag);
   if ( delObj != null ) {
    span.appendChild(delObj);
   }//if
                        var tmp='.      .';
                        var text = document.createTextNode(tmp);
                        var t_element = document.createElement('mm');
                        t_element.id="size"+index;
                        t_element.appendChild(text);
                        span.appendChild(t_element);

   }// Is IE
   
         if ( !IsIE ) {
    var delObj = document.createElement("input");
    if ( delObj != null ) {
     delObj.name = delId;
     delObj.id = delId;
     delObj.type = "button";
     var clickEvent = "return delfile('" + spanId + "',"+strIndex+");";
     delObj.setAttribute("onclick",clickEvent); 
     span.appendChild(delObj);
    }//if
   }// !IsIE if
   if( delObj != null) delObj.value = "删 除";
  }//main if

 return;
}


//-------------------------------------------------------------------------------------------------------------


//---------------------------------------------delete input file-----------------------------------------------
function delfile(spanId,index)
{
    var strIndex = "" + index;
    var fileId = "attachfile"+ strIndex;
           var size="size"+index;
           var delsize=document.getElementById(size);
    var brId = "idAttachBr" + strIndex;
    var delId = "idAttachOper" + strIndex;
    //first,get the element
       var span = document.getElementById(spanId);
    //alert(  "del span: " + span  );
    if ( span == null ) return false;

    var fileObj = document.getElementById(fileId);
    if ( fileObj == null ) return false;

    var brObj = document.getElementById(brId);
    if ( brObj ==null ) return false;

    var delObj = document.getElementById(delId );
    //alert(  "del delId: " + delObj  );
    if ( delObj == null ) return false;

       //second,create the replace element
    var temp= document.createElement("SPAN");
    //third,replace it
     span.replaceChild(temp,fileObj);
  span.replaceChild(temp,brObj);
        if (IsIE) {      
   span.replaceChild(temp,delsize);
  }
  // Added by Harry, Repair Remove attached bug 2005/04/04
  span.removeChild(delObj.previousSibling);
  var attach = document.getElementById("attach");
  if(span.getElementsByTagName("INPUT").length == 1) attach.childNodes[0].nodeValue='添加附件';
  // End
  span.replaceChild(temp,delObj); 
  
 AutoHeight();

 return false;
}
//----------------------------------------getfilesize---------------------------------------------//

 

function getfilesize(filepath){
        var size;
        var path=new Array();
        path=filepath.split('/');
        var newpath=path.join("//");
        QuarkCommon.FileSize = newpath;
        size = new String(QuarkCommon.FileSize);
        size = size_calculate(size);
        return size;
}

function size_calculate(number) {
        number = ((number * 100)+1)/100;
        var reg=//d*/./d{2}(?=/d*)/;
        if (number<1000) {
                number = number+'B';
        } else if (number<1000000) {
        number = number/1024;
        number = reg.exec(number.toString())[0] + 'K';
        } else {
        number = number/1048576;
        number = reg.exec(number.toString())[0] + 'M';
        }
        return number;
}

//项目脚本语言

<script language="javascript">
 <!--
 var i=0;
 function load(){
  showResult();
 }
 function showResult(){
  var obj=MM_findObj_("tablePrint");
  //alert(document.all.tablePrint.innerHTML);
  var url="/tableRef/tableRef.do?b_queryTableCulomn=true&tableName="+form1.tableName.value;
  //alert(url);
  send_request2(url,obj);
  //alert(document.all.tablePrint.innerHTML);
 //window.open(url);
 }
 -->
</script>

<script>
function addlay(){
 add.innerHTML= add.innerHTML+"<br>&nbsp;&nbsp;<select name='ColumnName'>"+aa.innerHTML+"&nbsp;<input type='text' name='dis' size='13' value=''>";
 //alert("fsd");
}
function sub(){
 form1.count.value="";
 var dis="";
 var objs=document.form1.getElementsByTagName("select")
if(objs!=null&&objs.length>0){
  for(var i=0;i<objs.length;i++){

   if (objs[i].name=="ColumnName")
   {
    if (form1.count.value=="")
    {
     form1.count.value = objs[i].value;
    }else{
    form1.count.value=form1.count.value+","+objs[i].value
    }
   }
  }
 }

var dou=false;
  objs=document.form1.getElementsByTagName("input")
if(objs!=null&&objs.length>0){
 
  for(var i=0;i<objs.length;i++){

   if (objs[i].name=="dis")
   {
    if (dis=="")
    {
     dis = objs[i].value;
     if (dis=="")
     {
      dis=" ,";
      dou=true
     }
    }else{
     if (dou==true)
     {
      dis=dis+objs[i].value;
      dou=false;
     }
     if (dou==false)
     {
      dis=dis+" ,"+objs[i].value;
     }

    }
   }
  }
 }
var hre = "/tableRef/tableRef.do?b_displayData=true&dis="+dis+"&count="+form1.count.value+"&tableName="+form1.tableName.value;
//alert(parent.parent.location);
parent.parent.TextFrame.document.location.href=hre;
parent.parent.mf.rows="*,40%";
//alert(parent.MapFrame.document.location.href);//="http://www.163.com";
//parent.TextFrame.location="xxchaxunjg.htm"

}

showResult();

</script>

 请你联系或有疑问,点击下面进行留言:

蓝色·深海(QQ空间)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值