現在來對比一下ajax與隱藏form提交的利與弊。
1.隱藏form提交,更新數據完成后,需要轉到一個空白頁面再對原頁面進行提交后處理;ajax則不用,可以直接返回原頁面進行提交后的處理。可見ajax可以比隱藏form提交少增加一個頁面。
2.ajax出于安全性考慮,不能對文件進行操作,所以就不能通過ajax來實現文件上傳,而通過隱藏form提交則可以實現這個功能,所以這就是目前用隱藏form提交的主要用途。
現在接下來講述如何通過隱藏form來實現文件上傳
1)首先定義一個用于填寫表單內容的form
<form name="form1"></form>
2)接著定義一個用于提交的form
<form name="form2" target="myIframe"> //用于指定提交返回的頁面顯示在這個隱藏的iframe中
<iframe name="myIframe" style="display:none"></iframe> //用于存放提交返回后的空白頁面
<div id="formInner" style="display:none"></div> //用于獲取form1的html內容,獲得form1的表單元素
</form>
3)在form1提交時,進行如下javascript處理
var formInner= document.getElementById("formInner");
formInner.innerHTML = form1.innerHTML; //復制form1的html代碼
form2.action = form1.action;
form2.submit();
4)提交后,進入后臺處理,后臺處理完成后,需要返回一個空白頁面blank.jsp,這個頁面是在隱藏的iframe中生成的,所以可以通過parent對象對原頁面進行操作。
比如原頁面定義了一個updatePageFromSubmit(),則在blank.jsp頁面中可以通過parent.updatePageFromSubmit()來調用進行提交返回后的處理
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com