id vs. name attribute for Html controls


G

Guest

Hello All:

Does anyone know the difference between the name and id attributes in an
Html control? I noticed on PostBack that I can not retrieve the
Request.Form("id_value") but I can retrieve the Request.From("name_value").

TIA,
 
Ad

Advertisements

K

Karl Seguin

It isn't an ASP.Net issue, it's simply how HTML works. When you POST a
form, the HTML specification mandate that the data be posted in the shape of
NAME=VALUE&NAME1=VALUE1&NAME2=VALUE2

It's just how html works.

Karl
 
P

Patrice

You just get it IMO. My understanding is that "id" is the client side name
for scripting elements (whatever element you are using) while the "name" is
the name used server side for submitted values (for example in 2.0 you have
no more the "name" attribute for a form as the form itself doesn't have a
name server side).
 
G

Guest

Thanks Karl,

So, what is the id attribute for?

TIA,
--
Joe

VB.NET/C#/ASP.NET/ASP/VB/C++/Web and DB development/VBA Automation


Karl Seguin said:
It isn't an ASP.Net issue, it's simply how HTML works. When you POST a
form, the HTML specification mandate that the data be posted in the shape of
NAME=VALUE&NAME1=VALUE1&NAME2=VALUE2

It's just how html works.

Karl
 
K

Karl Seguin

Id is used in the document object model (DOM) of the page. In other words,
it's chiefly used with javascript. Name attributes musn't be unique, which
you often see when using radio's or checkboxes (groups all share the same
name). Id's should be.

Karl

--
MY ASP.Net tutorials
http://www.openmymind.net/


Joe said:
Thanks Karl,

So, what is the id attribute for?

TIA,
 
Ad

Advertisements

B

Bruce Barker

this is partially correct.

the name attribute is only valid on the <form> and form elements
(<input>,<textarea> and <select>). it used to specify the name to assoicate
with the name/value pair that is submitted on a form post.

for example:

<input type=checkbox name=foo value=1>

if checked will submit foo=1. in the dom you can reference form elements
from the form.elements collection by specifing the name as the index. if is
not unique, the collection returns an array of elements rather than the
element. modern dom's support looking up form elements by name as:

document.getElementsByName(nameValue)

note: it always returns an array even if only one element is found.


id attribute is from the xml world, and is a unique id for any node, not
just form elements. unlike the name attribute it is valid on any html node.
also like the name attribute, it must follow the valid identitfier rules.
the identitfer should start with an alpha, and only contain alpha
([a-zA-Z]), numbers, hyphen, underscore and colons.(note aspnet breaks this
rule by starting reserved ids with a underscore - thus they will alway fail
an html/xml lint - actually some proxies strip them). to find any html
element by id you use:

document.getElementById(idvalue)

this only returns one dom node.

-- bruce (sqlwork.com)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top