By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
459,713 Members | 1,340 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 459,713 IT Pros & Developers. It's quick & easy.

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

P: n/a
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>
Jul 20 '05 #1
Share this Question
Share on Google+
4 Replies


P: n/a

"Carl" wrote in message news:bj**********@reader10.wxs.nl...
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
Jul 20 '05 #2

P: n/a
"BÝrge Alvestad" wrote:
"Carl" wrote in message news:bj**********@reader10.wxs.nl...
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 <gw*****@agricoreunited.com>

* 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
Jul 20 '05 #3

P: n/a
> 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

Jul 20 '05 #4

P: n/a

Reply to "Grant Wagner", message
news:3F***************@agricoreunited.com...

Thanks for useful information, Grant ;)
--
BÝrge Alvestad
aka BraveBrain
Jul 20 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.