2010-02-18 35 views
26

¿Es una práctica aceptable tener múltiples formularios HTML en una página con campos de entrada que comparten el mismo atributo de nombre? Por ejemplo, la página contiene una lista de todos los jugadores y los usuarios están autorizados a votar por el mejor jugador de lo que al lado de cada tarjeta de jugador hay esta forma:¿Formas múltiples con campos de entrada con el mismo atributo de nombre? ¿Bueno o malo?

<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> 

valor del atributo del campo de entrada oculto es diferente para cada forma, por supuesto.

Digamos que hay 20 formularios como este en la página, por lo que significa 20 campos de entrada con el nombre igual a "player_id". Si paso esa página a través del validador HTML, es válida incluso con el doctype XHTML 1.0 Strict. Pero, ¿es esta una práctica aceptable desde los estándares web o la perspectiva de accesibilidad?

Una cosa que sé con certeza, hace que el procesamiento del lado del servidor de la página sea más fácil ya que solo necesito cargar valor desde un campo POST llamado player_id.

Respuesta

14

De acuerdo con la respuesta anterior. El nombre está totalmente bien, y se pasará como parámetro de respuesta de tu formulario. Otra historia sería si sus elementos de entrada también tendrían las mismas identificaciones: algunos navegadores podrían tener problemas para atravesar el documento.

Una vez más, pensar en grupo de botones de radio, donde los usuarios pueden seleccionar el sexo, etc. Deben tener el mismo nombre (pero diferentes identificadores) ...

+0

En cuanto a los ID duplicados: http://www.w3.org/TR/WCAG20-TECHS/F77. html y http://www.w3.org/TR/WCAG20-TECHS/H93 .html – danielnixon

4

Sí, es válido, lo hago todo el tiempo.

2

sí que es perfectamente bien .. de hecho, me siento personalmente que su realmente es una buena práctica hacerlo, ya que resulta relativamente útil para los desarrolladores trabajar con relativamente menos nombres en comparación con muchos de ellos ... además, cuando los elementos están en diferentes formas, la dosis no causa colisión espacial de ningún tipo, ya que para identificar elementos en js por nombre usamos tanto el nombre del formulario como el nombre del campo de entrada para que la dosis no cause ningún problema ...

Cuestiones relacionadas