470,870 Members | 1,506 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 470,870 developers. It's quick & easy.

spaces in select names

Hi,

I am a newbie to Internet programming. I have some questions about
spacing in HTML control names and subsequently being able to access
these input elements in JavaScript If you don't have time to read the
whole message, the main question is can HTML form names have spaces in
them and if so what is the syntax for accessing them using Javascript

I have a Perl script which dynamically creates html and ultimately
generates a form. The form contains dynamically generated radio
buttons and select controls. The value of the radio value is the same
name as the select control name but this is only way I get the name of
the select controls because I know exactly how many radio buttons there
are and I know the radio button name. (if unclear disregard:not
crucial)

Many of the control names contain spaces. When I try to access them in
JavaScript through the DOM it doesn't work. Can I use spaces in input
control names.?

I have tried to save a Javascript value(which contains spaces) in a
variable and then use this variable in another Javascript statement.
For example;

selectedSG = document.Allan.SGGroup[i].value;
When I print selectedSG it returns the correct value.

But then when I try to use selectedSG in my JavaScript to access the a
select input it doesn't work:

document.Allan.selectedSG.length

I have tried to hard code the select control name and it works if the
select name has no spaces: for example

document.Allan.Fabric.length (where fabric is a select control name)
and then I receive the correct length for the specific select control

However if I try to hard code a select name that contains spaces it
doesn't work, ie.

document.Allan.another magnificent day.length

Clearly this syntax is wrong but I've tried bracketing and single
quotes around another magnificent day and it still doesn't work

Thanks ahead,
Larry

Aug 7 '05 #1
3 2494
Lee
larry said:
Many of the control names contain spaces. When I try to access them in
JavaScript through the DOM it doesn't work. Can I use spaces in input
control names.?


It should be trivial for you to replace spaces with underscores,
which would make the names valid. You can access invalid names
though, as in:

document.Allan.elements["another magnificent day"].length

Aug 7 '05 #2


CSS2 section 4.1.3:
In CSS2, identifiers (including element names, classes, and IDs in
selectors) can contain only the characters [A-Za-z0-9] and ISO 10646
characters 161 and higher, plus the hyphen (-); they cannot start with a
hyphen or a digit.

This rule applies to most languages, js no exception, for object naming
convention, all Form fieled are indeed passed to the server as variables,
so, no spaces.
Danny

--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
Aug 7 '05 #3
ASM
larry wrote:
Hi,

I am a newbie to Internet programming. I have some questions about
spacing in HTML control names and subsequently being able to access
these input elements in JavaScript If you don't have time to read the
whole message, the main question is can HTML form names have spaces in
them and if so what is the syntax for accessing them using Javascript
document.forms['My Own Form'].elements['My Prefered Select'];
The value of the radio value is the same
name as the select control name but this is only way I get the name of
the select controls because I know exactly how many radio buttons there
are and I know the radio button name. (if unclear disregard:not
crucial)
it is not at all a good idea to give same name to radios and selects
how can you cleanly submit your form ?
if not correct answer : not crucial :-)
selectedSG = document.Allan.SGGroup[i].value;
When I print selectedSG it returns the correct value.

But then when I try to use selectedSG in my JavaScript to access the a
select input it doesn't work:

document.Allan.selectedSG.length
isn't it normal ?
you do exactly same as writting directly the spaced name ...

selectedSG = document.Allan.SGGroup[i].value;
alert('select length = '+document.Allan.elements[selectedSG].length);

as selectedSG is a variable, no need single quotes in brackets
However if I try to hard code a select name that contains spaces it
doesn't work, ie.

document.Allan.another magnificent day.length
alert('select length = ' +
document.Allan['another magnificent day'].length);
or
alert('select length = ' +
document.forms['Allan'].elements['another magnificent day'].length);
or
var A = document.forms['Allan'];
alert('select length = ' +
A.elements[A.elements['SGGroup'][i].value].length);
Clearly this syntax is wrong but I've tried bracketing and single
quotes around another magnificent day and it still doesn't work


something wrong with a not necessary point ... no ?
--
Stephane Moriaux et son [moins] vieux Mac
Aug 7 '05 #4

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

2 posts views Thread by Michael Bulatovich | last post: by
3 posts views Thread by Chris Sharman | last post: by
9 posts views Thread by King Albert | last post: by
40 posts views Thread by raphfrk | last post: by
Ciary
1 post views Thread by Ciary | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.