Question Différence entre les attributs id et name en HTML


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

Je voudrais savoir (spécifiquement en ce qui concerne les formulaires HTML) si l'utilisation des deux est nécessaire ou encouragée pour quelque raison que ce soit.


583
2017-09-09 04:53


origine


Réponses:


le name attribut 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 différents id attributs, mais la même name. Lorsque soumis, il n'y a qu'une seule valeur dans la réponse - le bouton radio que vous avez sélectionné.

Bien sûr, il y a plus que ça, mais ça va certainement vous faire penser dans la bonne direction.


496
2017-09-09 04:58



Utilisation name attributs pour les contrôles de formulaire (tels que <input> et <select>), car c'est l'identifiant utilisé dans POST ou GET appel qui se passe sur la soumission du formulaire.

Utilisation id attributs lorsque vous devez adresser un élément HTML particulier avec CSS, JavaScript ou un identifiant de fragment. Il est possible de rechercher des éléments par nom, mais c'est plus simple et plus fiable pour les rechercher par ID.


285
2017-09-09 04:59



Voici un bref résumé:

  • id est utilisé pour identifier l'élément HTML à travers le Document Modèle d'objet (via JavaScript ou stylé avec CSS). id devrait être unique dans la page.

  • name correspond à la forme élément et identifie ce qui est posté retour au serveur.


73
2017-09-09 04:59



Regarde ça http://mindprod.com/jgloss/htmlforms.html#IDVSNAME

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

id = est à utiliser comme cible comme ceci: <some-element id="XXX"></some-element> pour des liens comme celui-ci: <a href="#XXX".

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

id = nomme les champs à utiliser par JavaScript et Java DOM (Document Object Model).   Les noms dans name = doivent être uniques dans un formulaire. Les noms dans id = doivent être uniques dans le document entier.

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

JavaScript avait besoin de noms uniques, mais il y avait déjà trop de documents sans nom unique = name, donc les gens de W3 ont inventé le tag id qui devait être unique. Malheureusement, les anciens navigateurs ne le comprenaient pas. Vous avez donc besoin des deux schémas de dénomination dans vos formulaires.

NOTE: attribut "nom" pour certaines balises comme <a> n'est pas supporté en HTML5.


30
2017-11-20 21:05



La façon dont j'y pense et l'utilise est simple:

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

prénom est utilisé pour la gestion de formulaire en PHP quand un formulaire est soumis via HTML (doit être unique sous une forme - dans une certaine mesure, voir Paulle commentaire ci-dessous)


23
2017-11-14 03:44



ID tag - utilisé par CSS, définir un unique exemple d'un div, span ou d'autres éléments. Apparaît dans le modèle Javascript DOM, vous permettant d'y accéder avec divers appels de fonction.

Étiquette de nom pour les champs - Ceci est unique par forme - sauf si vous faites un tableau que vous voulez passer au traitement PHP / côté serveur. Vous pouvez y accéder via Javascript par nom, mais je pense qu'il n'apparait pas comme un noeud dans le DOM ou certaines restrictions peuvent s'appliquer (vous ne pouvez pas utiliser .innerHTML, par exemple, si je me souviens bien).


14
2017-09-09 05:09



<form action="demo_form.asp">
<label for="male">Male</label>
<input type="radio" name="sex" id="male" value="male"><br>
<label for="female">Female</label>
<input type="radio" name="sex" id="female" value="female"><br>
<input type="submit" value="Submit">
</form>

8
2018-04-21 18:12