2012-07-19 6 views
8

non so il motivo per cui continuo a ricevere questo errore durante il controllo la mia pagina al http://validator.w3.org/check L'errore era:Errore validazione HTML: l'attributo for dell'elemento dell'etichetta deve fare riferimento a un controllo di modulo

Line 46, Column 68: The for attribute of the label element must refer to a form control. 
<label class="environment-label" for="environment_form">Environments:</label> 

I credo di aver fornito un riferimento di identificazione per il mio label al modulo esterno, perché continua a insidiarmi su questo errore?

<div> 
    <form id="environment_form" method="post"> 
     <div class="styled-select"> 
      <label class="environment-label" for="environment_form">Environments:</label> 
      <select name="environment_dropdown" onchange="selectionChanged()"> 
       <option @(ViewData["selection"] == null || string.IsNullOrEmpty(ViewData["selection"].ToString()) ? "selected" : "")>select one</option> 
       @foreach (string name in Model) { 
        <option @(ViewData["selection"] != null && ViewData["selection"].Equals(name) ? "selected" : "")> 
         @name 
        </option> 
       } 
      </select> 
     </div> 
    </form> 
</div> 

risposta

26

avete questo:

for="environment_form" 

e si riferisce alla forma diretta! Ma l'attributo "per" dovrebbe fare riferimento a un elemento del tuo modulo, nel tuo caso alla selezione. Quindi aggiungi un attributo "id" alla tua selezione e cambia il "for", come questo esempio:

<label class="environment-label" for="environment_dropdown">Environments:</label> 
<select name="environment_dropdown" id="environment_dropdown" onchange="selectionChanged()"> 
+0

Grazie. Capito ;) – Chan

Problemi correlati