if json.errors is an array, you don't need $A. $A is for iterables only (like dom node collections, for example).
Best, Tobie On Nov 19, 5:01 am, "Jerod Venema" <[EMAIL PROTECTED]> wrote: > It looks like json.errors should be an array, right? > > var json = {"errors":[]} > > json.errors is an array...so $H(json.errors) is probably not what you want. > > Try $A(json.errors); > > You'll have to adjust your each as well... > > $A(json.errors).each(function(err){ > console.log(err.anError); //outputs "aMessage" > > }); > > Jerod Venemahttp://www.frozenmountain.com/ > > > > On Tue, Nov 18, 2008 at 6:48 PM, laf <[EMAIL PROTECTED]> wrote: > > > So I have this function. It toggles error messages after an AJAX call > > for validation. It works fine in prototype 1.5, > > but an upgrade to 1.6 has broken it and I have not been able to work > > out why. > > > onFormSuccess : function(transport) > > { > > var json = transport.responseText.evalJSON(true); > > var errors = $H(json.errors); > > > if (errors.size() > 0) { > > this.form.down('.error').show(); > > errors.each(function(pair) { > > this.showError(pair.key, pair.value); > > }.bind(this)); > > } > > else { > > this.form.submit(); > > } > > } > > > When the JSON received looks like {"errors":[{"anError": > > "aMessage"}]}, errors.size() works which means the errors are > > displayed as they are supposed to, but when the json received looks > > like {"errors":[]}, then errors.size() falls over as errors is an > > undefined object. > > > Basically, what is the correct way to get the size of the returned > > JSON data reliably with Prototype 1.6? $H() does not work when errors > > is empty. I know the hash was one of the biggest changes moving to > > 1.6.. I'd appreciate any light someone can shed on this. > > > I have tried checking if its null, or its length with no success. > > > Regards, > > laf. > > -- > Jerod Venema --~--~---------~--~----~------------~-------~--~----~ 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 prototype-scriptaculous@googlegroups.com 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 -~----------~----~----~----~------~----~------~--~---