周浩

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
            28 隨筆 :: 0 文章 :: 16 評論 :: 0 Trackbacks

          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++;
          return false;
          }

          //----------------------------------------fileexist()----------------------------------------------------------
          //edited by alun
          function exist(fileId) {
          ????? 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();
          ? }
          }//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);

          ?? adddel(spanId,index);

          ?? addbr(spanId,brId);
          ?? //document.getElementById( "attachfile"+ strIndex).click();
          ?? return;
          }
          //-------------------------------------------sub fuction addInputFile-----------------------------------------
          function addInputFile(spanId,fileId)
          {
          ? 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: 90%; BORDER-BOTTOM: #000000 1px solid; HEIGHT: 20' size=50 name='" + fileId + "' size=50 onchange=exist('" + fileId + "')>";
          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 + "' onclick=delfile('" + spanId + "',"+strIndex+")></input>";
          var delObj = document.createElement(tag);
          if ( delObj != null ) {
          span.appendChild(delObj);
          }//if

          }// 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 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);
          // 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);

          return false;
          }

          頁面上用
          <form name=sendmail>
          <SCRIPT src="attach.js"></SCRIPT>
          <A id=attach? onclick="add();this.childNodes[0].nodeValue='繼續添加附件';"? href="javascript:;" name=attach>添加附件</A><SPAN? id=idfilespan></SPAN>
          </form>

          posted on 2006-08-10 11:53 Derek 閱讀(1015) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          Google
          主站蜘蛛池模板: 馆陶县| 彰化县| 丰台区| 睢宁县| 扎兰屯市| 寿光市| 阿克| 宝山区| 苍溪县| 南通市| 德钦县| 鄂伦春自治旗| 汝州市| 永善县| 龙里县| 安国市| 达尔| 迁西县| 镇江市| 林口县| 北川| 辽宁省| 永定县| 静海县| 湾仔区| 大渡口区| 阳朔县| 多伦县| 太保市| 中方县| 连山| 潮安县| 吉木乃县| 梧州市| 长阳| 交城县| 郴州市| 陆川县| 元氏县| 清徐县| 依安县|