2010-02-18 15 views
26

Est-ce une pratique acceptable d'avoir plusieurs formulaires HTML sur une page avec des champs de saisie partageant le même attribut de nom? Par exemple, la page contient une liste de tous les joueurs et les utilisateurs sont autorisés à voter pour le meilleur joueur pour à côté de chaque carte de joueur, il y a cette forme:Plusieurs formulaires avec des champs de saisie avec l'attribut du même nom? Bon ou Mauvais?

<form class="vote-for-player" enctype="application/x-www-form-urlencoded" method="post" action="/index/vote-for-best-player"> 
    <input type="hidden" name="player_id" value="1" /> 
    <input type="submit" name="vote_for_player" value="Vote" class="input-submit" /> 
</form> 

attribut Valeur du champ d'entrée caché est différent pour chaque forme, bien sûr. Supposons qu'il y ait 20 formes comme celle-ci sur la page, ce qui signifie 20 champs de saisie dont le nom est égal à "player_id". Si je passe cette page via un validateur HTML, il est valide même avec le doctype XHTML 1.0 Strict. Mais est-ce une pratique acceptable du point de vue des normes Web ou de l'accessibilité? Une chose que je sais à coup sûr, c'est que le traitement côté serveur de la page est plus facile car j'ai juste besoin de charger la valeur d'un champ POST appelé player_id.

Répondre

14

D'accord avec la réponse ci-dessus. Le nom est totalement correct, et sera passé en paramètre de réponse de votre formulaire. Une autre histoire serait si vos éléments d'entrée auraient aussi les mêmes identifiants - certains navigateurs pourraient avoir des problèmes à parcourir la dom de votre document.

Encore une fois, pensez groupe de boutons radio, où les utilisateurs peuvent sélectionner le genre, etc. Ils doivent avoir le même nom (mais différents ids) ...

+0

En ce qui concerne les ID en double: http://www.w3.org/TR/WCAG20-TECHS/F77. html et http://www.w3.org/TR/WCAG20-TECHS/H93 .html – danielnixon

4

Oui c'est valide, je le fais tout le temps.

2

oui c'est parfaitement bien .. En fait, je pense personnellement que sa vraiment une bonne pratique à faire car il devient relativement pratique pour les développeurs de travailler avec relativement moins de noms par rapport à beaucoup d'entre eux. De plus, lorsque les éléments sont sur des formes différentes, ils ne causent pas de collision d'espace. dans js par nom, nous utilisons à la fois le nom du formulaire et le nom du champ de saisie afin qu'il ne provoque pas de problèmes ...