HTML表单标记中target属性的用途是什么?

时间:2014-03-26 12:03:31

标签: html forms target

当我在PHP中实现文件上传进度条时,我在form标记中看到了这个目标属性。代码是这样的:

<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" 
      method="POST" id="myForm" 
      enctype="multipart/form-data" 
      target="hidden_iframe">

此处target attribute的用途是什么?

实际上,在提交此表单数据(文件)后,我们会从另一个页面upload.php跟踪上传进度。我们可以在没有目标属性的情况下实现吗?

3 个答案:

答案 0 :(得分:20)

用于指定在提交表单时您希望在远程服务器上显示响应的窗口。

可能的值是:

  • _blank - 新页
  • frame - 在iframe中显示给定名称
  • _self - 显示在表单所在的同一iframe中
  • _parent - 在表单的父页面/ iframe中显示&#39; s iframe
  • _top - 最顶层的窗口

答案 1 :(得分:7)

与锚点目标的工作方式完全相同。在您的情况下,看起来在name="hidden_iframe"的某处有一个iframe - 表示将显示表单的响应。

以下是表单目标的说明

  

一个名称或关键字,指示在提交表单后显示收到的响应的位置。在HTML 4中,这是框架的名称或关键字。在HTML5中,它是浏览上下文的名称或关键字(例如,选项卡,窗口或内联框架)。

来源:<form> - HTML | MDN #target

答案 2 :(得分:7)

<form action="demo_form.asp" method="get" target="_blank">
  First name: <input type="text" name="fname"><br>
  Last name: <input type="text" name="lname"><br>
  <input type="submit" value="Submit">
</form>

target属性指定一个名称或关键字,指示在提交表单后显示收到的响应的位置。

target属性定义浏览上下文的名称或关键字(例如制表符,窗口或内嵌框架)。

目标属性值:

_blank:响应显示在新窗口或标签页

_self:响应显示在同一帧中(这是默认值)

_parent:响应显示在父框架

_top:响应显示在窗口的整个正文中

framename:响应显示在命名的iframe

现在来看你的代码。

method="POST" id="myForm" enctype="multipart/form-data" target="hidden_iframe"

表示发布myForm后,响应(结果页面)将被'hidden_​​iframe'占用。