javascript專題(一): form的target屬性


  表單是最常見的html元素,作用是向服務器提交數據。其中有一個屬性target,深入理解之后,對頁面的形成有幫助。下面詳細分析。

一 表單提交到了哪里?

  這 似乎是個無知的問題,我們都知道表單提交到服務器,java,php,asp等服務器,然后由服務器去讀。那么之后呢,服務器總要返回點什么吧,要么返回 一個xml或json數據,要么返回一個頁面,要么返回一個頁面片段,但是返回到哪里了,這些結果在哪里展示?其實這就是常常被忽略的一個問題,尤其是 ajax用多了,覺得無刷新是理所當然的。在默認情況下,在什么頁面提交的,就會將返回的數據(json或頁面或頁面片段)給這個頁面。這里的頁面指一個 框架,帶有<html></html>結構的html頁。

  這樣一來,當在A頁面提交了一個表單,服務器返回了 一個信息,表示成功了,此時,返回的數據會給A頁面,於是,A頁面就"刷新"了一次。2005年,出現了異步刷新ajax。這樣就可以“局部刷新”了,向 服務器提交數據時,不用通過表單了,可以通過瀏覽器對象來提交,服務器返回數據到該瀏覽器對象,這樣便可以實現“局部刷新”了。

      但是ajax有個致命問題,不能提交文件。怎么辦?

二 文件還得用表單來提交

      為了克服ajax不能提交文件的問題,我們又想起了表單。當表單的enctype=multipart/form-data時,就可以上傳文件了。可是這樣又需要整個頁面刷新,問題來了,兩個難以同時滿足。

      方法總是有的。於是出現了通過設置表單的target=xxxxIframe的方法。這樣意味着表單提交到一個無關的頁面,服務器返回時也返回到這個頁 面,再在這個無關的頁面進行js操作,改變需要更新的頁面區域。而整個表單提交過程中,無關頁面都是隱藏的,是個幕后推手。這就是 target=xxxxIframe的作用。

三 target屬性

      target完整的屬性可能值是:

      _self:默認值,在原頁面打開。

      _blank:在新窗口打開。

      _parent:在父窗口打開。

      _top:在頂級窗口打開。

      _frameName(xxxxIframe):在指定窗口打開。

                                                 方勁松 南京焦點科技 寫於鼓樓清涼山 2012.8.12


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM