<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 閱讀(1780) 評(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)航:
     
    主站蜘蛛池模板: 国产精品亚洲专区无码牛牛| 99热这里只有精品免费播放| 亚洲另类精品xxxx人妖| 最新亚洲成av人免费看| 在线播放免费播放av片| 日本免费电影一区| 亚洲精品无码久久久久AV麻豆| 国产亚洲AV无码AV男人的天堂 | 高潮毛片无遮挡高清免费视频| 亚洲日本国产精华液| 亚洲福利在线观看| 亚洲不卡中文字幕| 日本亚洲欧美色视频在线播放| xvideos永久免费入口| 男人都懂www深夜免费网站| 思思re热免费精品视频66| 欧洲精品免费一区二区三区| 亚洲一区二区三区免费| 亚洲国产精品久久久久婷婷老年| 亚洲一区二区三区四区视频 | 亚洲w码欧洲s码免费| 深夜a级毛片免费视频| 精品在线观看免费| 国产亚洲精品美女2020久久| 你是我的城池营垒免费观看完整版| h视频在线观看免费| 中国xxxxx高清免费看视频| 精品免费久久久久久成人影院| 久久亚洲AV无码西西人体| 亚洲综合色婷婷七月丁香| 亚洲国产精品白丝在线观看 | 亚洲av日韩av综合| 一级毛片a免费播放王色电影 | 免费网站看v片在线香蕉| 久久精品国产亚洲一区二区三区| 亚洲欧洲日产国产最新| 一级毛片aa高清免费观看| 91黑丝国产线观看免费| 最新免费jlzzjlzz在线播放| 日本免费人成黄页在线观看视频| 亚洲精品乱码久久久久久蜜桃不卡|