国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

如何在客戶端清除fileUpLoad控件的文件路徑

2019-11-17 04:27:43
字體:
來源:轉載
供稿:網友

  今天在寫一項目的更新模塊遇到的一個問題:.net fileUpLoad控件只要選擇了文件在Postback的時候這個文件都會被自動上傳到服務器,而我的更新模塊里需要有選擇的判斷要不要上傳文件,原理說起來比較簡單,直接把fileUpLoad控件選定的文件去除不就行了貝,可是使用js去除的時候發現IE下fileUpLoad控件的值居然還是只讀的,而在Firefox下是可以更改的。如果在.net提交事件中來處理是不是要保存這個文件那就意味著,被fileUpLoad控件選擇的文件都會被上傳一次到服務器,只不過是你存不存的問題了,相當浪費帶寬及服務器資源啊。不過還好饅頭的BLOG里給出了解決的辦法,經比較個人感覺以下方式比較好:
引用
創建一個新的form,把上傳控件臨時放過來,再調用這個form的reset方法,完工之后再把上傳控件弄回去。這個form無需進入DOM結構便能正常工作,所以不用擔心會對界面有任影響。
  具體解決代碼:view plaincopy to clipboardPRint?
//把這個JS放到頁面的<body>中  
<script language="javascript" type="text/Javascript">  
//清空文件上傳框,file為上傳表單對像  
function clearFileInput(file){  
var form=document.createElement('form');  
document.body.appendChild(form);  
//記住file在舊表單中的的位置  
var pos=file.nextSibling;  
form.appendChild(file);  
form.reset();  
pos.parentNode.insertBefore(file,pos);  
document.body.removeChild(form);  
}  
</script> 

 //把這個JS放到頁面的<body>中
 <script language="javascript" type="text/javascript">
 //清空文件上傳框,file為上傳表單對像
 function clearFileInput(file){
 var form=document.createElement('form');
 document.body.appendChild(form);
 //記住file在舊表單中的的位置
 var pos=file.nextSibling;
 form.appendChild(file);
 form.reset();
 pos.parentNode.insertBefore(file,pos);
 document.body.removeChild(form);
 }
 </script>view plaincopy to clipboardprint?
//添加按鈕的客戶端腳本事件,當然你也可以寫在按鈕的屬性里,或是直接在HTML的button上加onclick事件也一樣  
btnCannel.OnClientClick = "clearFileInput(document.getElementById('" + 上傳控件ID.ClientID + "'));" 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安图县| 渝中区| 托里县| 苍溪县| 忻州市| 桦川县| 开封县| 于都县| 通州区| 东源县| 长泰县| 武邑县| 紫金县| 林周县| 南昌市| 定安县| 瓦房店市| 额济纳旗| 宜都市| 南川市| 措勤县| 长阳| 南投县| 怀来县| 澳门| 文水县| 长沙市| 涪陵区| 探索| 伊吾县| 公安县| 乌审旗| 南江县| 延津县| 唐海县| 怀远县| 凤台县| 武邑县| 丹凤县| 达孜县| 浮梁县|