While working with controls in HTML forms, you can assign ID as well as NAME attributes to the controls. You can then access both ID and NAME attributes through client-side scripting. You should note a couple of differences between ID and NAME attributes. First, when a form is submitted, only the NAME is passed. If you have an INPUT text control with both ID and NAME attributes, then only the NAME/VALUE pair is submitted. Second, the ID attribute can be referred to directly in a script while the NAME attribute must be referred to by including the NAME of the parent form, if the element is a child of a form element. If the text control is not a child of a form element, the NAME attribute can be used to identify the text control.
For example, consider this form with just one text control:
Because the ID attribute has been defined, you can access the text control directly in the script as:
var UserSSNNumber = IDUserSSN.Value;
If you use the NAME attribute to access the text control, then you will write:
var UserSSNNumber = MyForm.NameUserSSN.Value;