Hi,

Apologies in advance if I've misunderstood.

> How do I reference these returned hash values?

But it's no longer a Hash.  You've converted it to a string using
Hash#toJSON[1].  If you want it to be a Hash, don't convert it to a
string.  Change this:

    return $H({x: w, y: h}).toJSON();

to:

    return $H({x: w, y: h});

...and then you can use the values via Hash#get[2], e.g., fb.offSet.get
('x').

But taking things further:  Why make it a Hash?  Why not just use a
POJO?  (Plain Old JavaScript Object)  If you make that line:

    return {x: w, y: h};

...then you can use the properties directly (fb.offSet.x) the way you
tried to initially.

[1] http://www.prototypejs.org/api/hash/tojson
[2] http://www.prototypejs.org/api/hash/get

HTH,
--
T.J. Crowder
tj / crowder software / com

On Dec 8, 4:10 pm, "Techno~" <[EMAIL PROTECTED]> wrote:
> I am trying to access a value that is returned via the $H.toJSON
> method.
>
> However, my alerts keeps saying that it is undefined.
>
> Any pointers gratefully received
>
> ==== code ====
> var Feedback = Class.create({
>
>         initialize: function() {
>                 this.offSet = this.getOffsets();
>         },
>
>         getOffsets: function() {
>                 if (window.innerHeight) {
>                         h = window.innerWidth;
>                         w = window.innerHeight;
>                 } else if (document.documentElement &&
> document.documentElement.clientHeight) {
>                         h = document.documentElement.clientWidth;
>                         w = document.documentElement.clientHeight;
>                 } else if (document.body) {
>                         h = document.body.clientWidth;
>                         w = document.body.clientHeight;
>                 }
>
>                 return $H({x: w, y: h}).toJSON();
>         }})
>
> ==== end code ====
>
> === mark-up snippet ===
>         <script type="text/javascript">
>                 var fb = new Feedback;
>         </script>
>
> <body onload="alert(fb.offSet.x)">
> === mark-up end ===
>
> if I alert(fb.offSet) I receive {"x":878,"y":1563}
>
> I have tried multiple variations:
>
> fb.offSet[0].x
> fb.offSet[x]
> fb.offSet[0]["x"]
> fb.offSet.x[0]
> fb.offSet[0].x[0]
>
> Some just error out some returned undefined.
>
> How do I reference these returned hash values?
>
> TIA
> Techno~
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Prototype & script.aculo.us" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/prototype-scriptaculous?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to