web-dev-qa-db-fra.com

Quelle est l'utilisation de l'attribut cible dans la balise de formulaire HTML?

Pendant que j'implémentais une barre de progression de téléchargement de fichiers en PHP, j'ai vu cet attribut cible dans la balise form. Le code était comme ceci:

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

Quelle est l'utilité de ce target attribute ici?

En fait, après avoir soumis ces données de formulaire (fichier), nous suivons la progression du téléchargement à partir d'une autre page, par exemple upload.php. Pourrions-nous implémenter cela sans l'attribut cible?

27
user2823982

Celui-ci est utilisé pour spécifier dans quelle fenêtre vous souhaitez afficher la réponse du serveur distant lors de la soumission de votre formulaire.

Les valeurs possibles sont:

  • _blank - nouvelle page
  • frame - afficher dans l'iframe avec le nom donné
  • _self - afficher dans la même iframe où se trouve le formulaire
  • _parent - afficher dans la page parent/iframe de l'iframe du formulaire
  • _top - la fenêtre la plus haute
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>

L'attribut cible spécifie un nom ou un mot-clé qui indique où afficher la réponse reçue après l'envoi du formulaire.

L'attribut cible définit un nom ou un mot-clé pour un contexte de navigation (par exemple, onglet, fenêtre ou cadre en ligne).

Valeurs d'attribut cibles:

_blank: la réponse est affichée dans une nouvelle fenêtre ou un nouvel onglet

_self: la réponse est affichée dans le même cadre (c'est la valeur par défaut)

_parent: la réponse est affichée dans le cadre parent

_top: la réponse est affichée dans le corps de la fenêtre

framename: la réponse est affichée dans un iframe nommé

Maintenant, venez à votre code.

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

indique qu'après la publication de myForm, la réponse (page résultante) sera occupée par 'hidden_iframe'.

7
Tuhin

Fonctionne exactement de la même manière que la cible d'ancrage. Dans votre cas, il semble qu'il y ait un iframe quelque part avec name="hidden_iframe" - c'est là que la réponse du formulaire sera affichée.

Voici la description des cibles de formulaire

Un nom ou un mot-clé indiquant où afficher la réponse reçue après l'envoi du formulaire. En HTML 4, il s'agit du nom ou d'un mot-clé d'un cadre. En HTML5, il s'agit d'un nom ou d'un mot-clé pour un contexte de navigation (par exemple, onglet, fenêtre ou cadre en ligne).

Source: <form> - HTML | MDN #target

7
webeno