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
-~----------~----~----~----~------~----~------~--~---