Généralement, on suppose que le nom est toujours remplacé par id . Cela est vrai, dans une certaine mesure, mais pas pour les champs de formulaire et les noms de trame , pratiquement parlant. Par exemple, avec les éléments de formulaire, l' name
attribut 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 attributs name et id sur les éléments de formulaire. Donc, nous écririons ce qui suit:
<form id="myForm" name="myForm">
<input type="text" id="userName" name="userName" />
</form>
Pour garantir la compatibilité, il est judicieux d'avoir des valeurs d'attribut name et id correspondantes lorsque les deux sont définies. Cependant, soyez prudent: certaines balises, en particulier les boutons radio, doivent avoir des valeurs de nom non uniques, mais nécessitent des valeurs d'ID uniques. Encore une fois, cela devrait faire référence au fait que l'id n'est pas simplement un remplacement pour le nom; ils ont un objectif différent. En outre, ne négligez pas l'approche à l'ancienne, un examen approfondi des bibliothèques modernes montre un tel style de syntaxe utilisé à des fins de performances et de facilité à certains moments. Votre objectif doit toujours être en faveur de la compatibilité.
Désormais, dans la plupart des éléments, l'attribut name a été déconseillé au profit de l'attribut id plus omniprésent. Cependant, dans certains cas, forme particulièrement les champs ( <button>
, <input>
, <select>
et <textarea>
), la vie d'attribut name parce qu'il continue d'être nécessaire pour définir la paire valeur de nom pour la soumission du formulaire. De plus, nous constatons que certains éléments, notamment les cadres et les liens, peuvent continuer à utiliser l'attribut 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, l'id doit être unique, et le nom dans certains cas ne devrait pas - pensez aux boutons radio. Malheureusement, l'unicité des valeurs id, bien que détectée par la validation du balisage, n'est pas aussi cohérente qu'elle devrait l'être. L'implémentation CSS dans les navigateurs stylisera les objets qui partagent une valeur id; ainsi, nous ne pouvons pas détecter 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