Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion GroupsGeneralPHPASPPerlColdFusionFlashHTML, CSS, ScriptsBrowsers

Webmaster Forum / HTML, CSS, Scripts / JavaScript / April 2007



Tip: Looking for answers? Try searching our database.

Help with "cannot assign string" error

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Don Lancaster - 29 Apr 2007 04:07 GMT
I need to progrmatically do this inside a loop

         this.fh03.value =  fixFloat (Harms[1], numPoints)     ;

with the numbers changing per an index.

If I try

      curHvals = "03" ;  // (derived from index to provide leading zero)

 ( "this.fh" +curHvals + ".value" ) = fixFloat(Harms[ii],numPoints)

I get a [ Cannot assign string to 'string "this.fh03.value" ' error. ]

The right side of the equation works just fine elsewhere.
As does this.fh03.value elsewhere.

eval (...) does not work as it looks up the previous fh03 value rather
than replacing it with a new one.

What is the correct way to programatically loop calculated values with
fancy names?

Is there a command for string to named variable conversion?

Signature

Many thanks,

Don Lancaster                          voice phone: (928)428-4073
Synergetics   3860 West First Street   Box 809 Thatcher, AZ 85552
rss: http://www.tinaja.com/whtnu.xml   email: don@tinaja.com

Please visit my GURU's LAIR web site at http://www.tinaja.com

Ian Collins - 29 Apr 2007 04:33 GMT
> I need to progrmatically do this inside a loop
>
>          this.fh03.value =  fixFloat (Harms[1], numPoints)     ;
>
> with the numbers changing per an index.

Have you tried:

this[fh03][value] = fixFloat (Harms[1], numPoints);

Signature

Ian Collins.

Don Lancaster - 29 Apr 2007 16:21 GMT
>>I need to progrmatically do this inside a loop
>>
[quoted text clipped - 5 lines]
>
> this[fh03][value] = fixFloat (Harms[1], numPoints);

Looks like an interesting approach.

Except it returns "undefined" for [value].

Signature

Many thanks,

Don Lancaster                          voice phone: (928)428-4073
Synergetics   3860 West First Street   Box 809 Thatcher, AZ 85552
rss: http://www.tinaja.com/whtnu.xml   email: don@tinaja.com

Please visit my GURU's LAIR web site at http://www.tinaja.com

Don Lancaster - 29 Apr 2007 16:27 GMT
>>> I need to progrmatically do this inside a loop
>>>
[quoted text clipped - 9 lines]
>
> Except it returns "undefined" for [value].

But this works. Not sure why...

     this [curHvals]["val" + "ue"]  = fixFloat (Harms[ii], numPoints)

Signature

Many thanks,

Don Lancaster                          voice phone: (928)428-4073
Synergetics   3860 West First Street   Box 809 Thatcher, AZ 85552
rss: http://www.tinaja.com/whtnu.xml   email: don@tinaja.com

Please visit my GURU's LAIR web site at http://www.tinaja.com

Don Lancaster - 29 Apr 2007 16:31 GMT
>>>> I need to progrmatically do this inside a loop
>>>>
[quoted text clipped - 13 lines]
>
>      this [curHvals]["val" + "ue"]  = fixFloat (Harms[ii], numPoints)

So does...

   this [curHvals]["value"]  = fixFloat (Harms[ii], numPoints)

Apparently quotes are required.

Signature

Many thanks,

Don Lancaster                          voice phone: (928)428-4073
Synergetics   3860 West First Street   Box 809 Thatcher, AZ 85552
rss: http://www.tinaja.com/whtnu.xml   email: don@tinaja.com

Please visit my GURU's LAIR web site at http://www.tinaja.com

Richard Cornford - 29 Apr 2007 13:28 GMT
> I need to progrmatically do this inside a loop
>
[quoted text clipped - 9 lines]
>
> I get a [ Cannot assign string to 'string "this.fh03.value" ' error. ]

That seems a fairly clear and obvious error report.

> The right side of the equation works just fine elsewhere.

No, there are no circumstances where you can assign a value to a string.

> As does this.fh03.value elsewhere.

Your - this.fh03.value - is a property accessor and so can be the
destination for an assignment.

> eval (...) does not work as it looks up the previous fh03
> value rather than replacing it with a new one.

Eval would 'work' if you evaled the entire expression, but assigning to
the return value of a function call is not ever allowed (and not ever
meaningful).

> What is the correct way to programatically loop calculated
> values with  fancy names?

Using bracket nation property accessors instead of dot notation property
accessors:-

<URL: http://jibbering.com/faq/#FAQ4_39 >

> Is there a command for string to named variable conversion?

Variable names are strings, but - this.fh03.value - is a property
accessor not a variable name.

Richard.
VK - 29 Apr 2007 16:44 GMT
> I need to progrmatically do this inside a loop
>
[quoted text clipped - 18 lines]
> What is the correct way to programatically loop calculated values with
> fancy names?

If I understood your problem properly then I would form the question
in some other way:

- How to access form controls using run-time generated control names
(so they cannot be hard coded as literals in my program).

- Use squared brackets notation with expression in it:
refFormElement.elements["fh"+curHvals].value =
fixFloat(Harms[ii],numPoints);
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2009 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.