Chris Allison
Chris Allison

Reputation: 15

The for attribute of the label element must refer to a form control?

I have read the other questions, but i cant seem to apply it to my problem.

In the validator it is giving me the problem 'The for attribute of the label element must refer to a form control'.

Can someone help me out? here is my code:

<h2>Contact Us</h2>
<form name="contactform" method="post"
      action="http://dev.itas.ca/~christopher.allison/send_form_email.php">
    <table>
        <tr> 
            <td> 
                <label for="first_name">First Name *</label> 
            </td> 
            <td> 
                <input  type="text" name="first_name" maxlength="50" size="30"> 
            </td>
        </tr>
        <tr> 
            <td> 
                <label for="last_name">Last Name *</label> 
            </td> 
            <td> 
                <input  type="text" name="last_name" maxlength="50" size="30"> 
            </td>
        </tr>
        <tr> 
            <td> 
                <label for="email">Email Address *</label> 
            </td> 
            <td> 
                <input  type="text" name="email" maxlength="80" size="30"> 
            </td>
        </tr>
        <tr> 
            <td> 
                <label for="telephone">Telephone Number</label>
            </td> 
            <td> 
                <input  type="text" name="telephone" maxlength="30" size="30"> 
            </td>
        </tr>
        <tr> 
            <td> 
                <label for="comments">Comments *</label> 
            </td> 
            <td > 
                <textarea  name="comments" maxlength="1000" cols="25" rows="6"></textarea>
            </td>
        </tr>
        <tr>
            <td colspan="2" style="text-align:center"> 
                <div class="buttonHolder">

                    <input value="Submit" title="submit" name="lucky" type="submit" id="btn_i">
                </div>   
            </td>
        </tr>
    </table>
</form>
</div><!--close form_settings-->

Upvotes: 0

Views: 529

Answers (1)

ianaya89
ianaya89

Reputation: 4243

The issue you have is that the for attribute must reference the id attribute of the input instead of the name:

<label for="first_name">First Name *</label> 
<input type="text" id="first_name" name="first_name" maxlength="50" size="30"> 

You can still use the name attribute for whatever you want but to link label with input you need to add an id.

Check out label documentation.

Upvotes: 2

Related Questions