web-dev-qa-db-ja.com

HTMLフォームタグでのターゲット属性の使用とは何ですか?

PHPでファイルアップロードプログレスバーを実装しているときに、formタグでこのターゲット属性を見ました。コードは次のようなものでした:

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

ここでこのtarget attributeの使用法は何ですか?

実際、このフォームデータ(ファイル)を送信した後、upload.phpなどの別のページからアップロードの進行状況を追跡します。ターゲット属性なしでこれを実装できますか?

27
user2823982

これは、フォームの送信時にリモートサーバーからの応答を表示するウィンドウを指定するために使用されます。

可能な値は次のとおりです。

  • _blank-新しいページ
  • frame-指定された名前でiframeに表示します
  • _self-フォームが配置されている同じiframeに表示する
  • _parent-フォームのiframeの親ページ/ iframeに表示します
  • _top-一番上のウィンドウ
20
David Lin
<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>

ターゲット属性は、フォームの送信後に受信した応答を表示する場所を示す名前またはキーワードを指定します。

ターゲット属性は、ブラウジングコンテキスト(タブ、ウィンドウ、インラインフレームなど)の名前またはキーワードを定義します。

ターゲット属性値:

_blank:応答は新しいウィンドウまたはタブに表示されます

_self:応答は同じフレームに表示されます(これはデフォルトです)

_parent:応答は親フレームに表示されます

_top:応答はウィンドウ全体に表示されます

framename:応答は名前付きiframeに表示されます

今、あなたのコードに来てください。

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

myFormをポストした後、応答(結果のページ)が 'hidden_​​iframe'で占有されることを示します。

7
Tuhin

アンカーターゲットとまったく同じように機能します。あなたのケースでは、name="hidden_iframe"-フォームからの応答が表示される場所です。

フォームターゲットの説明は次のとおりです。

フォームの送信後に受信した応答を表示する場所を示す名前またはキーワード。 HTML 4では、これはフレームの名前またはフレームのキーワードです。 HTML5では、ブラウジングコンテキスト(タブ、ウィンドウ、インラインフレームなど)の名前またはキーワードです。

ソース: <form>-HTML | MDN #target

7
webeno