• 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

  • 相关阅读:
    leetcode-594-Longest Harmonious Subsequence
    leetcode-581-Shortest Unsorted Continuous Subarray
    leetcode-575-Distribute Candies(计算一个数组中元素的种类的快速方法)
    leetcode-566-Reshape the Matrix
    leetcode-561-Array Partition I
    leetcode-551-Student Attendance Record I(判断是否出现连续几个相同字符)
    Java之CheckedException
    Java异常机制
    Zookeeper分布式协调即分布式锁机制
    Spring中@Value用法
  • 原文地址:https://www.cnblogs.com/fangjins/p/2634193.html
Copyright © 2020-2023  润新知