javascript構造可以上傳檔案的form表單(透過js修改enctype)

longwansheng發表於2007-12-04
版權宣告:原創作品,允許轉載,轉載時請務必以超連結形式標明文章 原始出處 、作者資訊和本宣告。否則將追究法律責任。http://kiddymeet.blog.51cto.com/20194/29166
[@more@] 在上傳檔案時,我們都知道需要在form表單中加上enctype="multipart/form-data"。而在開發過程中,也有可能遇到需要用javascripts構造form表單的情況。一般javascript構造form,可以使用以下方法:
var form = document.createElement('form');
form.id="the_form";
form.action="/img.php";
form.method='post';
form.name="the_form_";
  當javascript構造的form,遇到需要上傳檔案的時候,本以為直接加一句form.enctype="multipart/form-data"就能解決問題,卻發現滿不是那麼回事。從網上搜了一些原因,最終找到解決原因,原來javascript的form的物件名並不應該是enctype,而應該是encding,改為form.encding="multipart/form-data",問題解決。
  將表單放到HTML標籤中可以使用以下程式碼:
var parNode = document.getElementById("plus");
parNode.appendChild(form);//在plus中增加form表單,plus為html中的一個層
  表單中也可以放入input、checkbox等表單,可以使用以下程式碼,透過表單的物件可以改變表單的型別和值:
var input=document.createElement("input");
input.id="upfile_1";
input.name="upfile_1";
input.type="file";
input.className="file_upload";
input.onchange=function (){//點選表單時呼叫upload_pic()函式
upload_pic();
}
form.appendChild(input);//在form中追加input表單

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/92289/viewspace-988457/,如需轉載,請註明出處,否則將追究法律責任。

相關文章