f



document.forms[0] and Struts (tags)

Hi,

I have a problem to access a hidden field by javascript. The name of
the field has a dot in it. That's the problem. But I need that dot
because it is a "Stuts Property".
I'm using IE 6. This is my code:

<!--
function changeValue(myvalue) {
  //works
  document.forms[0].testProperty.value = myvalue;
  alert('document.forms[0].testProperty.value='+document.forms[0].testProperty.value);
  //doesn't work 
  //(javascript error: 
  //document.forms[0].dotted.prop is null or not an object)
  document.forms[0].dotted.prop.value = myvalue;
  alert('document.forms[0].dotted.prop.value='+document.forms[0].testProperty.value);
}
//-->

<form>
<input type="hidden" name="testProperty" value="">
<input type="hidden" name="dotted.prop" value="">
</form>

Any comments are appreciated.

Cheers,
Jan.
0
jmutter
6/27/2003 8:06:20 PM
comp.lang.javascript 38370 articles. 2 followers. javascript4 (1315) is leader. Post Follow

4 Replies
524 Views

Similar Articles

[PageSpeed] 39

jmutter@bigfoot.de (Jan-Friedrich Mutter) writes:

> I have a problem to access a hidden field by javascript. The name of
> the field has a dot in it. That's the problem. But I need that dot
> because it is a "Stuts Property".

It is illegal HTML, so you should check again whether it is *really*
necessary.

>   document.forms[0].dotted.prop.value = myvalue;

How to access properties with illegal names:
 <URL:http://jibbering.com/faq/#FAQ4_25>
I.e., 
 document.forms[0].elements["dotted.prop"].value 

/L
-- 
Lasse Reichstein Nielsen  -  lrn@hotpop.com
 Art D'HTML: <URL:http://www.infimum.dk/HTML/randomArtSplit.html>
  'Faith without judgement merely degrades the spirit divine.'
0
Lasse
6/27/2003 8:41:07 PM
jmutter@bigfoot.de (Jan-Friedrich Mutter) writes:

>   document.forms[0].dotted.prop.value = myvalue;
>   alert('document.forms[0].dotted.prop.value='+document.forms[0].testProperty.value);

Use getElementById('dotted.prop')
0
Tor
6/27/2003 8:41:26 PM
"Tor Iver Wilhelmsen" <tor.iver.wilhelmsen@broadpark.no> wrote in
message news:ullvnz215.fsf@broadpark.no...
<snip>
> Use getElementById('dotted.prop')

Do not use getElementById to access form elements with JavaScript. Use
the W3C HTML DOM level 2 specified document.forms collection to access
the form and access the element as either a named or indexed property of
either the form or the form's elements collection:-

document.forms[nameOrIndex].elements[nameOrIndex];

- complies with the latest W3C specification and is back-compatible with
_every_ JavaScript capable browser currently in use.

Richard.


0
Richard
6/27/2003 10:49:01 PM
Jan-Friedrich Mutter wrote:
> I have a problem to access a hidden field by javascript. The name of
> the field has a dot in it. That's the problem. But I need that dot
> because it is a "Stuts Property".

In general, it's best not to post JavaScript questions to 
comp.lang.java.* groups.  Java and JavaScript are not the same.  
Followups are set.

> I'm using IE 6. This is my code:
> 
> <!--
> function changeValue(myvalue) {
>   //works
>   document.forms[0].testProperty.value = myvalue;
>   alert('document.forms[0].testProperty.value='+document.forms[0].testProperty.value);
>   //doesn't work 
>   //(javascript error: 
>   //document.forms[0].dotted.prop is null or not an object)
>   document.forms[0].dotted.prop.value = myvalue;
>   alert('document.forms[0].dotted.prop.value='+document.forms[0].testProperty.value);
> }
> //-->

Try:

(document.forms[0])["dotted.prop"].value = myvalue;

-- 
www.designacourse.com
The Easiest Way to Train Anyone... Anywhere.

Chris Smith - Lead Software Developer/Technical Trainer
MindIQ Corporation
0
Chris
6/28/2003 3:59:46 PM
Reply: