Différence entre les atsortingbuts id et name en HTML

Quelle est la différence entre les atsortingbuts id et name ? Ils semblent tous deux servir le même objective de fournir un identifiant.

Je voudrais savoir (en particulier en ce qui concerne les formulaires HTML) si l’utilisation des deux est nécessaire ou encouragée pour une raison quelconque.

L’atsortingbut name est utilisé lors de l’envoi de données dans une soumission de formulaire. Différents contrôles répondent différemment. Par exemple, vous pouvez avoir plusieurs boutons radio avec des atsortingbuts d’ id différents, mais le même name . Lorsqu’elle est envoyée, il n’y a qu’une valeur dans la réponse – le bouton radio que vous avez sélectionné.

Bien sûr, il y a plus que cela, mais cela va certainement vous faire réfléchir dans la bonne direction.

Utilisez les atsortingbuts de name pour les contrôles de formulaire (tels que et ), car c’est l’identificateur utilisé dans l’appel POST ou GET qui se produit lors de l’envoi du formulaire.

Utilisez des atsortingbuts id chaque fois que vous devez adresser un élément HTML particulier avec CSS, JavaScript ou un identifiant de fragment . Il est également possible de rechercher des éléments par leur nom, mais il est plus simple et plus fiable de les rechercher par identifiant.

Voici un bref résumé:

  • id est utilisé pour identifier l’élément HTML via le modèle d’object de document (via JavaScript ou stylé avec CSS). id doit être unique dans la page.

  • name correspond à l’élément de formulaire et identifie ce qui est publié sur le serveur .

Voir ceci http://mindprod.com/jgloss/htmlforms.html#IDVSNAME

Quelle est la différence? La réponse courte est d’utiliser les deux et ne vous inquiétez pas à ce sujet. Mais si vous voulez comprendre cette maladresse, voici le maigre:

id = est utilisé comme une cible comme ceci: pour des liens comme ceci: .

name = est également utilisé pour étiqueter les champs du message envoyé à un serveur avec un protocole HTTP (HyperText Transfer Protocol) GET ou POST lorsque vous appuyez sur soumettre dans un formulaire.

id = étiquette les champs à utiliser par JavaScript et Java DOM (Modèle d'object de document). Les noms dans name = doivent être uniques dans un formulaire. Les noms dans id = doivent être uniques dans tout le document.

Parfois, les noms name = et id = diffèrent, car le serveur attend le même nom de divers formulaires dans le même document ou de divers boutons radio dans la même forme que dans l'exemple ci-dessus. L'identifiant doit être unique; le nom = ne doit pas être.

JavaScript nécessitait des noms uniques, mais il y avait déjà trop de documents déjà présents sans nom unique = name, de sorte que les utilisateurs de W3 ont inventé le tag d'ID requirejs pour être unique. Malheureusement, les navigateurs plus anciens ne l'ont pas compris. Vous avez donc besoin des deux schémas de nommage dans vos formulaires.

REMARQUE: l'atsortingbut "name" pour certaines balises comme n'est pas pris en charge dans HTML5.

La façon dont je pense et l’utilise est simple:

id est utilisé pour CSS et JavaScript / jQuery (doit être unique dans une page)

name est utilisé pour la gestion des formulaires en PHP quand un formulaire est soumis via HTML (doit être unique sous une forme – dans une certaine mesure, voir le commentaire de Paul ci-dessous)

ID tag – utilisé par CSS, définit une instance unique d’un div, span ou d’autres éléments. Apparaît dans le modèle DOM Javascript, vous permettant d’y accéder avec divers appels de fonctions.

Balise de nom pour les champs – Ceci est unique par formulaire – sauf si vous faites un tableau que vous souhaitez transmettre au traitement PHP / côté serveur. Vous pouvez y accéder via Javascript par nom, mais je pense qu’il n’apparaît pas en tant que nœud dans le DOM ou certaines ressortingctions peuvent s’appliquer (vous ne pouvez pas utiliser .innerHTML, par exemple, si je me souviens bien).

Ce lien a des réponses à la même question de base, mais fondamentalement, id est utilisé pour l’identification de script et le nom est pour le serveur.

http://www.velocityreviews.com/forums/t115115-id-vs-name-atsortingbute-for-html-controls.html

 


name est déconseillé pour les cibles de liens et invalide en HTML5. Il ne fonctionne plus au moins dans la dernière version de Firefox (v13). Modifier en

Il n’est pas nécessaire que la cible soit une balise , elle peut être

> ou

etc., ce qui est souvent un code plus propre.

Comme d'autres articles le disent clairement, le name est toujours utilisé (nécessaire) dans les formulaires. Il est également utilisé dans les balises META.

name Vs id

prénom

  • Nom de l’élément. Par exemple utilisé par le serveur pour identifier les champs dans le formulaire soumis.
  • Les éléments de prise en charge sont
  • Le nom ne doit pas nécessairement être unique.

id

  • Souvent utilisé avec CSS pour styliser un élément spécifique. La valeur de cet atsortingbut doit être unique.
  • Id is Global atsortingbutes , ils peuvent être utilisés sur tous les éléments, même si les atsortingbuts n’ont aucun effet sur certains éléments.
  • Doit être unique dans tout le document.
  • La valeur de cet atsortingbut ne doit pas contenir d’espaces, contrairement à l’atsortingbut class, qui autorise des valeurs séparées par des espaces.
  • Utilisation de caractères sauf les lettres et chiffres ASCII, ‘_’, ‘-‘ et ‘.’ peut causer des problèmes de compatibilité, car ils n’étaient pas autorisés dans HTML 4. Bien que cette ressortingction ait été levée dans HTML 5, un identifiant devrait commencer par une lettre pour la compatibilité.

Généralement, il est supposé que name est toujours remplacé par id . C’est vrai, dans une certaine mesure, mais pas pour les champs de formulaire et les noms de cadre , pratiquement. Par exemple, avec les éléments de formulaire, l’atsortingbut name est utilisé pour déterminer les paires nom-valeur à envoyer à un programme côté serveur et ne doit pas être éliminé. Browsers do not use id in that manner . Pour être sûr, vous pouvez utiliser les atsortingbuts name et id sur les éléments de formulaire. Donc, nous écririons ce qui suit:

 

Pour assurer la compatibilité, il est recommandé d’avoir des valeurs d’atsortingbut id et name identiques lorsque les deux sont définies. Cependant, soyez prudent – certaines balises, en particulier les boutons radio, doivent avoir des valeurs de noms non uniques, mais requièrent des valeurs d’identifiant uniques. Encore une fois, cela devrait faire référence à ce que id n’est pas simplement un remplacement pour le nom; ils ont des objectives différents. En outre, ne négligez pas l’approche de l’ancien style, un examen approfondi des bibliothèques modernes montre un tel style de syntaxe utilisé à des fins de performances et de facilité par moments. Votre objective doit toujours être en faveur de la compatibilité.

Maintenant, dans la plupart des éléments, l’atsortingbut name a été déconseillé au profit de l’atsortingbut id plus omniprésent. Toutefois, dans certains cas, en particulier dans les champs de formulaire ( , , et ), l’atsortingbut name persiste car il est toujours nécessaire de définir la paire nom-valeur pour la soumission de formulaire. En outre, nous trouvons que certains éléments, notamment les frameworks et les liens, peuvent continuer à utiliser l’atsortingbut name car il est souvent utile pour récupérer ces éléments par leur nom.

Il y a une distinction claire entre id et nom. Très souvent, lorsque le nom continue, nous pouvons définir les mêmes valeurs. Cependant, id doit être unique et le nom, dans certains cas, ne devrait pas – penser aux boutons radio. Malheureusement, l’unicité des valeurs d’identification, lorsqu’elles sont détectées par la validation des balises, n’est pas aussi cohérente qu’elle devrait être. L’implémentation CSS dans les navigateurs stylera les objects qui partagent une valeur d’identifiant; ainsi, nous ne pouvons pas intercepter les erreurs de balisage ou de style qui pourraient affecter notre JavaScript jusqu’à l’exécution.

Ceci est tiré du livre JavaScript – The Complete Reference by Thomas-Powell

L’ID d’un élément d’entrée de formulaire n’a rien à voir avec les données contenues dans l’élément. Les identifiants permettent de connecter l’élément avec JavaScript et CSS. L’atsortingbut name, cependant, est utilisé dans la requête HTTP envoyée par votre navigateur au serveur sous la forme d’un nom de variable associé aux données contenues dans l’atsortingbut value.

Par exemple:

 

Lorsque le formulaire est soumis, les données du formulaire seront incluses dans l’en-tête HTTP comme suit:

Si vous ajoutez un atsortingbut ID, cela ne changera rien dans l’en-tête HTTP. Cela facilitera la connexion avec CSS et JavaScript.

Si vous n’utilisez pas la méthode de soumission du formulaire pour envoyer des informations à un serveur (et que vous l’utilisez à la place de JavaScript), vous pouvez utiliser l’atsortingbut name pour append des informations supplémentaires à une entrée. mais semble plus propre car il est incorporé dans l’entrée.

Ce bit fonctionne encore dans Firefox, même si je suppose qu’à l’avenir, il pourrait ne plus être autorisé.

Vous pouvez avoir plusieurs champs de saisie avec la même valeur de nom, tant que vous ne prévoyez pas de soumettre l’ancienne méthode.

Vous trouverez ci-dessous une utilisation intéressante de l’atsortingbut id. Il est utilisé dans la balise et permet d’identifier le formulaire pour les éléments en dehors des limites afin qu’ils soient inclus dans les autres champs du formulaire.

  
First name:

The "Last name" field below is outside the form element, but still part of the form.

Last name:

Id: 1) Il est utilisé pour identifier l’élément HTML via le modèle d’object de document (via Javascript ou stylé avec CSS). 2) L’identifiant devrait être unique dans la page.

Le nom correspond à l’élément de formulaire et identifie ce qui est publié sur le serveur. Exemple :

 
First name:

The "Last name" field below is outside the form element, but still part of the form.

Last name:

La balise “id” est utilisée par CSS et JavaScript pour atsortingbuer des styles et agir sur l’élément en entrée. Les bibliothèques comme jquery utilisent l’ID comme identifiant de raccourci, il est donc généralement utile de définir.

L’atsortingbut “name” d’un élément de formulaire est ce qui est réellement envoyé par votre navigateur Web dans la soumission / demande HTTP GET ou POST au serveur Web. Si vous laissez ce champ vide, vous n’aurez pas d’identifiant correct lié à votre contenu.

Vous pouvez cependant utiliser JavaScript pour envoyer vos formulaires via AJAX, ce qui signifie que vous n’envoyez jamais de variables de formulaire via GET ou POST via la soumission directe du navigateur Web. Dans ce cas, le champ de nom est inutile, bien que ce ne soit pas génial.

ID utilisé pour identifier de manière unique un élément.

Le nom est utilisé dans les formulaires. quand même vous soumettez un formulaire. et si vous ne donnez aucun nom, rien ne sera envoyé. Et ceux seulement avec l’atsortingbut de nom sortiront.

Basé sur des expériences personnelles et selon la description des atsortingbuts de W3 Schools:

ID est un atsortingbut global et s’applique à pratiquement tous les éléments en HTML. Il est utilisé pour identifier de manière unique des éléments sur la page Web, et sa valeur est principalement accessible depuis l’interface (généralement via JavaScript ou jQuery).

name est un atsortingbut utile à des éléments spécifiques (tels que des éléments de formulaire, etc.) en HTML. Sa valeur est principalement envoyée au backend pour le traitement.

https://www.w3schools.com/tags/ref_atsortingbutes.asp

L’ID d’un élément d’entrée de formulaire n’a rien à voir avec les données contenues dans l’élément. Les identifiants permettent de connecter l’élément avec JavaScript et CSS. L’atsortingbut name, cependant, est utilisé dans la requête HTTP envoyée par votre navigateur au serveur sous la forme d’un nom de variable associé aux données contenues dans l’atsortingbut value.