上傳文件時(shí),需要驗(yàn)證文件格式,不符合規(guī)則就不允許上傳,必須清空<input type="file">字段的值,否則還是會(huì)上傳到服務(wù)器!

          1、 網(wǎng)上各位兄弟提出了方法A,刪除掉原來(lái)的<input type="file">元素,再馬上新添加一個(gè)同名同id的file字段
          <div id="a"><input type="file"></div>  像這樣 file字段嵌套在div里面 清空div的innerHTML(或清空他子節(jié)點(diǎn)) 再新增innerHTML(或 子節(jié)點(diǎn))
          這種比較麻煩,必須改動(dòng)HTML代碼 不予考慮。


          2、直接上代碼,不廢話!如下:
           1 <script language="javascript">
           2 if(window.HTMLElement) {
           3    HTMLElement.prototype.__defineSetter__("outerHTML",function(sHTML){
           4        var r=this.ownerDocument.createRange();
           5        r.setStartBefore(this);
           6        var df=r.createContextualFragment(sHTML);
           7        this.parentNode.replaceChild(df,this);
           8        return sHTML;
           9        }
          );
          10
          11    HTMLElement.prototype.__defineGetter__("outerHTML",function(){
          12     var attr;
          13        var attrs=this.attributes;
          14        var str="<"+this.tagName.toLowerCase();
          15        for(var i=0;i<attrs.length;i++){
          16            attr=attrs[i];
          17            if(attr.specified)
          18                str+=" "+attr.name+'="'+attr.value+'"';
          19            }

          20        if(!this.canHaveChildren)
          21            return str+">";
          22        return str+">"+this.innerHTML+"</"+this.tagName.toLowerCase()+">";
          23        }
          );
          24        
          25 HTMLElement.prototype.__defineGetter__("canHaveChildren",function(){
          26  switch(this.tagName.toLowerCase()){
          27            case "area":
          28            case "base":
          29         case "basefont":
          30            case "col":
          31            case "frame":
          32            case "hr":
          33            case "img":
          34            case "br":
          35            case "input":
          36            case "isindex":
          37            case "link":
          38            case "meta":
          39            case "param":
          40            return false;
          41        }

          42        return true;
          43
          44     }
          );
          45}

          46
          47
          48 function clearFile(){
          49 var obj = document.getElementById("fileID");
          50 obj.outerHTML = obj.outerHTML;
          51 }

          52 </script>
          53
          54<input type="file" name="fileName" id="fileID"><input type="button" value="清空" onclick="clearFile()"/>

          經(jīng)測(cè)試,IE 火狐 谷歌都有效,僅作整理收藏,如果能幫到其他人就更好了!

          posts - 0, comments - 21, trackbacks - 0, articles - 101

          Copyright © H2O

          主站蜘蛛池模板: 杨浦区| 莫力| 冀州市| 新蔡县| 九龙城区| 延津县| 日照市| 彭阳县| 绍兴市| 军事| 偏关县| 铅山县| 巴青县| 漾濞| 满洲里市| 江门市| 封开县| 梧州市| 宜昌市| 阳信县| 越西县| 玉山县| 广东省| 巴林左旗| 盘山县| 永吉县| 安多县| 青阳县| 曲阳县| 白河县| 弥勒县| 上饶市| 尼木县| 临西县| 马尔康县| 门源| 河源市| 内江市| 曲靖市| 嘉义市| 新晃|