2010-02-18 15 views
26

È prassi accettabile disporre di più moduli HTML su una pagina con campi di input che condividono lo stesso attributo nome? Ad esempio, la pagina contiene un elenco di tutti i giocatori e gli utenti sono autorizzati a votare per il miglior giocatore in modo accanto a ciascuna scheda giocatore c'è questa forma:Più moduli con campi di input con lo stesso nome Attributo? Bene o male?

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

attributo Valore del campo di input nascosto è diverso per ogni forma, ovviamente.

Diciamo che ci sono 20 moduli come questo nella pagina, quindi significa 20 campi di input con il nome uguale a "player_id". Se passo quella pagina attraverso il validatore HTML, è valido anche con il doctype XHTML 1.0 Strict. Ma questa è una pratica accettabile dagli standard web o dalla prospettiva dell'accessibilità?

Una cosa che so per certo, rende l'elaborazione lato server della pagina più semplice in quanto ho solo bisogno di caricare il valore da un campo POST chiamato player_id.

risposta

14

D'accordo con la risposta di cui sopra. Il nome è completamente ok e verrà passato come parametro di risposta del tuo modulo. Una storia diversa sarebbe se i tuoi elementi di input avessero anche gli stessi ID - alcuni browser potrebbero avere problemi a superare il tuo documento.

Ancora una volta, pensare a gruppo di pulsanti di opzione, dove gli utenti possono selezionare genere ecc Essi devono avere lo stesso nome (ma differenti id) ...

+0

Per quanto riguarda gli ID duplicati: http://www.w3.org/TR/WCAG20-TECHS/F77. html e http://www.w3.org/TR/WCAG20-TECHS/H93 .html – danielnixon

4

Sì, è valido, lo faccio tutto il tempo.

2

sì che è perfettamente bene .. in realtà io personalmente ritengo che la sua davvero una buona pratica per farlo in quanto diventa relativamente piuttosto utile per gli sviluppatori di lavorare con nomi relativamente meno rispetto a molti di essi .. inoltre, quando gli elementi sono su forme diverse, non causa alcuna collisione nello spazio del nome in alcun modo dal momento di identificare gli elementi in js per nome usiamo sia il nome del modulo che il nome del campo di input in modo che non causi alcun problema ...

Problemi correlati