<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)航:
     
    主站蜘蛛池模板: 一级毛片直播亚洲| h片在线免费观看| 亚洲国产aⅴ综合网| 亚洲暴爽av人人爽日日碰| 成人无码区免费A片视频WWW| 久久精品亚洲中文字幕无码麻豆| 中文字幕久精品免费视频| 国产偷国产偷亚洲清高动态图| 全黄A免费一级毛片| 亚洲AV无码专区日韩| 成人午夜免费视频| 亚洲国产一区明星换脸| 久久av免费天堂小草播放| 亚洲精品美女久久777777| 久久午夜夜伦鲁鲁片免费无码| 午夜亚洲www湿好大| 91短视频免费在线观看| 亚洲1234区乱码| 免费无码不卡视频在线观看| 最新亚洲人成无码网站| 相泽亚洲一区中文字幕| 免费人成网站在线观看不卡| 亚洲黄色免费网站| 午夜成年女人毛片免费观看| 色屁屁在线观看视频免费| 亚洲中文字幕在线观看| 免费无码中文字幕A级毛片| 亚洲制服丝袜中文字幕| 国产一区二区三区免费看| 久久久久久国产a免费观看不卡| 亚洲国产精品lv| 女人18一级毛片免费观看| 国产黄在线观看免费观看不卡| 久久夜色精品国产亚洲AV动态图 | 亚洲码国产精品高潮在线| 秋霞人成在线观看免费视频| 亚洲AV无码一区二区三区人| 亚洲人成色7777在线观看不卡| 精品一区二区三区免费毛片爱| 亚洲午夜福利在线视频| 国产av无码专区亚洲av果冻传媒|