Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Javascript > using 'name' or using 'id' of a form?

Reply
Thread Tools

using 'name' or using 'id' of a form?

 
 
Carl
Guest
Posts: n/a
 
      09-05-2003
When using 'name' in the form, it works, when using 'id' it doesn't. Any
comments about this? By the way, is this a good method or is it better to
use 'getElementById'?
Carl

<body>
<form name="myform">
<input type button id="antw1" value="test">
</form>

<script type="text/javascript">
res=document.myform.antw1.value
alert(res)
</script>


 
Reply With Quote
 
 
 
 
BÝrge Alvestad
Guest
Posts: n/a
 
      09-05-2003

"Carl" wrote in message news:bja9er$5a6$(E-Mail Removed)...
> When using 'name' in the form, it works, when using 'id' it doesn't.

Any
> comments about this? By the way, is this a good method or is it better

to
> use 'getElementById'?
> Carl
>
> <body>
> <form name="myform">
> <input type button id="antw1" value="test">
> </form>
>
> <script type="text/javascript">
> res=document.myform.antw1.value
> alert(res)
> </script>
>


I usually give my forms both a name and an ID (both the same).
Then i reference them by document.forms['myForm']
i.e. document.forms['myform'].antw1.value

getElementById() is the most recent method and is only available in IE5+
and NN6+.
It might be a good idea to get used to that method now, but make sure
you include and option for older browsers.
I.e.
d=document // to ease further scripting
if (myObject=d.getElementById('myform')) {
res=myObject.antw1.value
} else {
res=d.forms['myforms'].antw1.value
}

If you don't need the form tags you can access the objects directly
though;
res=antw1.value

Hope this helped.


--
B Alvestad
aka BraveBrain


 
Reply With Quote
 
 
 
 
Grant Wagner
Guest
Posts: n/a
 
      09-05-2003
"BÝrge Alvestad" wrote:

> "Carl" wrote in message news:bja9er$5a6$(E-Mail Removed)...
> > When using 'name' in the form, it works, when using 'id' it doesn't.

> Any
> > comments about this? By the way, is this a good method or is it better

> to
> > use 'getElementById'?
> > Carl
> >
> > <body>
> > <form name="myform">
> > <input type button id="antw1" value="test">
> > </form>
> >
> > <script type="text/javascript">
> > res=document.myform.antw1.value
> > alert(res)
> > </script>
> >

>
> I usually give my forms both a name and an ID (both the same).
> Then i reference them by document.forms['myForm']
> i.e. document.forms['myform'].antw1.value
>
> getElementById() is the most recent method and is only available in IE5+
> and NN6+.
> It might be a good idea to get used to that method now, but make sure
> you include and option for older browsers.
> I.e.
> d=document // to ease further scripting
> if (myObject=d.getElementById('myform')) {
> res=myObject.antw1.value
> } else {
> res=d.forms['myforms'].antw1.value
> }
>
> If you don't need the form tags you can access the objects directly
> though;
> res=antw1.value
>
> Hope this helped.
>
> --
> B Alvestad
> aka BraveBrain


document.forms['formName'].elements['elementName'] (or
document.forms['formName'].elementName) is still part of the standard.
There's no reason to test for and use getElementById(). If getElementById()
/is/ present, then you know you can still retrieve the value of a form
element using document.forms[...].elements[...].

As for giving your form elements the same NAME and ID. While it seems
economical and seems to work reliably across the majority of browsers,
recent discussions in this newsgroup have convinced me it's a bad practice.
This is especially true of things like checkboxes and radio buttons, which
can have several input instances with the same NAME, but each one should
have a unique ID.

As a result, I've begun using something like NAME="myInputNAME"
ID="myInputID" (I haven't quite decided on the best naming scheme yet). For
groups of radio buttons, it's NAME="myRadioNAME" ID="myRadioID1" (or maybe
ID="myRadio1ID", as I said, I haven't arrived at a conclusion as to what's
better).

Anyway, the point was, there's no reason to test for and use
getElementById(). If it's supported, then so is
document.forms[...].elements[...].

--
| Grant Wagner <(E-Mail Removed)>

* Client-side Javascript and Netscape 4 DOM Reference available at:
*
http://devedge.netscape.com/library/...ce/frames.html

* Internet Explorer DOM Reference available at:
*
http://msdn.microsoft.com/workshop/a...ence_entry.asp

* Netscape 6/7 DOM Reference available at:
* http://www.mozilla.org/docs/dom/domref/
* Tips for upgrading JavaScript for Netscape 7 / Mozilla
* http://www.mozilla.org/docs/web-deve...upgrade_2.html


 
Reply With Quote
 
Douglas Crockford
Guest
Posts: n/a
 
      09-05-2003
> When using 'name' in the form, it works, when using 'id' it doesn't. Any
> comments about this? By the way, is this a good method or is it better to
> use 'getElementById'?


'id' is used to access specific objects in the DOM. 'name', in form elements, is
used to fill in the names in the postdata that is generated when the form is
submitted. Early browsers tended to use one as the default for the other, which
led to general confusion about the roles of the attributes.

http://www.crockford.com/#javascript

 
Reply With Quote
 
BÝrge Alvestad
Guest
Posts: n/a
 
      09-06-2003

Reply to "Grant Wagner", message
news:(E-Mail Removed)...

Thanks for useful information, Grant


--
BÝrge Alvestad
aka BraveBrain


 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off




Advertisments