檔案非同步上傳實際是用form提交和iframe接收製造假非同步效果
步驟:觸發提交按鈕時,
1.建立隱藏表單
表單中植入上傳的檔案域
為表單設定絕對定位到頁面看不到的地方
在文件中插入表單
2.建立隱藏iframe
為iframe設定絕對定位到頁面看不到的地方
在文件中插入iframe
為表單設定action,method,target,enctype等屬性
3.表單提交
再iframe載入完成後,**操作函式,並延遲一會在dom樹種移除建立的表單和iframe。
注意事項:
1.建立表單後插入檔案域的時候,如果講選擇檔案後的input[type=file]轉殖,把轉殖體插入到表單,這個轉殖的input[type=file]value會為空(在一些版本不一樣的瀏覽器裡),導致上傳時不能獲取到檔案,所以要把也面上的input[type=file]直接插入到建立的表單中,再把轉殖的檔案域放到頁面原先的位置,這樣就不會出現相容問題。
2.建立的表單的enctype屬性,ie678存在相容問題,需要由encoding屬性來代替
3.呼叫iframe的內容
ie: document.getelementbyid(iframeid).contentdocument.document.body.innerhtml
other: document.getelementbyid(iframeid).contentwindow.document.body.innerhtml
jquery非同步上傳檔案
一 建立input元素 二 匯入jquery.js和ajaxfileupload.js檔案 注意 在ajaxfileupload中會用到jquery的handleerror函式,但是此函式在1.4.2之後不存在了,所有如果用到更高的 版本需要複製進去 三 寫呼叫 function uploadima...
Javascript 非同步上傳檔案
頁面引用了別人寫的 但是找不到原作者 1.網頁包含以下兩個檔案 2.前台 3.表單中action指向的檔案就是非同步提交過去的處理 後台 if isset files fileinput files fileinput error upload err ok is file size is less...
Ajax檔案非同步上傳
ajax檔案非同步上傳 註明 既然有了表單上傳為什麼又要ajax上傳呢?因為表單上傳過程中,整個頁面就重新整理了!ajax非同步上傳就可以達到只重新整理區域性位置 選擇檔案 type file id file1 type button id upload value 上傳 src wait.gif ...