<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    feng

    飄逸~~~~~life

    清空文件域的一種實(shí)現(xiàn)

    想象這樣一個(gè)場(chǎng)景
     我們采用了比如AJAX的方式上傳文件,可能上傳文件和提交表單會(huì)提交到不同的ACTION中處理,但是比如用戶(hù)選擇了一個(gè)文件,然后沒(méi)有點(diǎn)
    上傳,卻點(diǎn)擊提交表單,會(huì)有什么結(jié)果,當(dāng)然是這個(gè)文件流會(huì)一起提交,這樣造成的結(jié)果當(dāng)然是造成響應(yīng)速度的下降或者浪費(fèi)服務(wù)器內(nèi)存了,文件小的還好,要是很大的文件,我想用戶(hù)是要哭了。
    于是我們就需要在提交表單之前清空文件域,可能很多朋友都試過(guò)這樣的方法:
    document.getElementById("file").value="";
    <input id="file" type="file" name="fileObj" style="width:60%"> 
      
    然后你就會(huì)發(fā)現(xiàn)沒(méi)有報(bào)錯(cuò),但是問(wèn)題沒(méi)有被解決?
    實(shí)際上文件域沒(méi)有或者說(shuō)不能這樣賦值。
    下面給出一種重寫(xiě)文件域的方法。
    首先你需要用一個(gè)<div>或者<span>標(biāo)簽把你的文件域包裹起來(lái)方便我們獲取,像下面這樣
     <span id="pfile"><input type="file"  name="file" onKeyDown="return false" onpaste="return false;" ></span></td>
    然后在提交表單前執(zhí)行如下JS
    document.getElementById("pfile").innerHTML = "<input type=\"file\" name=\"file\" onKeyDown=\"return false;\" onpaste=\"return false;\"/>";
    對(duì),就是這樣,你會(huì)發(fā)現(xiàn)問(wèn)題解決了,是不是很簡(jiǎn)單,呵呵。

    本方法不是我想出來(lái)的,只是網(wǎng)上一兄弟想出來(lái)的,我很厚道哦 
    要貼出原帖地址:
    http://blog.csdn.net/vince6799/archive/2005/11/01/520306.aspx  然后感謝他幫我解決了問(wèn)題,同時(shí)分享給大家。
                   

    posted on 2009-08-10 14:37 feng 閱讀(1781) 評(píng)論(6)  編輯  收藏

    Feedback

    # re: 清空文件域的一種實(shí)現(xiàn) 2009-08-11 09:14 absolutej

    問(wèn)一個(gè)問(wèn)題
    提交的表單和上傳的文件關(guān)系是什么?
    也就是說(shuō)表單里的內(nèi)容跟上傳的文件是不是附屬關(guān)系,也就是說(shuō)上傳的文件依賴(lài)于表單的內(nèi)容?簡(jiǎn)單的拿外鍵來(lái)理解

    還是表單里填寫(xiě)的內(nèi)容和上傳的文件都是同一級(jí)關(guān)系,他們都是附屬于某個(gè)東西  回復(fù)  更多評(píng)論   

    # re: 清空文件域的一種實(shí)現(xiàn) 2009-08-11 09:23 feng

    實(shí)際上文件域跟其他表單域是在一個(gè)表單的啦,但是我們可以借助JS控制提交到不同的ACTION處理咯,也就是其中的文件域是單獨(dú)交給一個(gè)ACTION處理的,AJAX那種的話(huà)都是這樣的@absolutej
      回復(fù)  更多評(píng)論   

    # re: 清空文件域的一種實(shí)現(xiàn) 2009-08-11 09:26 字幕網(wǎng)站

    沒(méi)明白過(guò)來(lái),表單和文件放到兩個(gè)form中不行么?  回復(fù)  更多評(píng)論   

    # re: 清空文件域的一種實(shí)現(xiàn) 2009-08-11 09:28 feng

    可以 當(dāng)然是可以啦 但是你會(huì)發(fā)現(xiàn)有時(shí)候我們會(huì)有特別的需求啥 如果放兩個(gè)表單的話(huà)也會(huì)有布局的問(wèn)題。  回復(fù)  更多評(píng)論   

    # re: 清空文件域的一種實(shí)現(xiàn) 2009-08-11 09:54 隔葉黃鶯

    @feng
    我想你只要把文件域的 disabled 屬性設(shè)置為 true,是不是就可以達(dá)到你想要的結(jié)果,為 disabled 的表單域是不會(huì)提交給后臺(tái)的。  回復(fù)  更多評(píng)論   

    # re: 清空文件域的一種實(shí)現(xiàn) 2009-08-11 10:13 feng

    提交前設(shè)置document.getElementById("upload").disabled="true"; 確實(shí)可以實(shí)現(xiàn)不提交文件域的功能  回復(fù)  更多評(píng)論   



    只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 91高清免费国产自产拍2021| 国产情侣久久久久aⅴ免费 | 亚洲av无码国产精品色午夜字幕| 国产精品久久亚洲一区二区| 日本免费v片一二三区| 亚洲熟妇无码八V在线播放| 成年性生交大片免费看| 最新亚洲卡一卡二卡三新区| 成人免费网站在线观看| 在线观看日本亚洲一区| 天天看免费高清影视| 亚洲AV女人18毛片水真多| 免费一看一级毛片人| 国产99久久久国产精免费| 国精无码欧精品亚洲一区| 日本免费污片中国特一级| 亚洲精品一区二区三区四区乱码 | 一二三四免费观看在线电影| 久久国产亚洲精品| 国产特级淫片免费看| 国产精品综合专区中文字幕免费播放| 亚洲精品一品区二品区三品区| 日本免费一区二区三区| 亚洲av午夜精品无码专区| 免费一级毛片正在播放| 国产一级a毛一级a看免费视频| 久久亚洲日韩精品一区二区三区| 永久免费av无码不卡在线观看| 羞羞漫画小舞被黄漫免费| 亚洲日产无码中文字幕| 亚洲精品视频免费看| 国产亚洲视频在线观看网址| 亚洲成AV人在线播放无码| 黄色片在线免费观看| 人人鲁免费播放视频人人香蕉| 亚洲AV日韩AV永久无码久久 | 最近免费mv在线观看动漫| 亚洲国产成人久久综合一区| 四虎影视精品永久免费网站| 国产一级片免费看| 亚洲狠狠婷婷综合久久蜜芽|