There is a TimedObserver[1] that watches the entire form for changes every N seconds, take a look at Form.Observer and Form.Element.Observer and see if those work for you.
I don't believe these focus/blur events bubble to the form, though (not in all browsers, anyway). Do you need to observe all elements, or only some of them? You could add a class to the ones you really need to observe, and get them like this: $$('#myForm input.someClass') for further extension. That might be a good trade-off between performance and utility. Walter 1. http://prototypejs.org/api/timedObserver On May 21, 2009, at 11:24 AM, louis w wrote: > > Is there no way to only have one observer for the entire form? I was > trying to cut down on memory by not assigning an observer to every > element (it's a big form) > > On May 21, 11:12 am, Walter Lee Davis <wa...@wdstudio.com> wrote: >> If you give your text field an ID, you can observe its focus >> directly. >> Or, if you don't add IDs, you can use a loop over all of the elements >> in the form (or only the inputs) with one or another of these: >> >> $('editForm').getElements().invoke('observe','focus',function(evt) >> { ...inside here, 'this' will be your element... }); >> $('editForm').getInputs().invoke('observe','focus',function(evt) >> { ...same as above... }); >> >> Walter >> >> On May 21, 2009, at 11:06 AM, louis w wrote: >> >> >> >>> Is it possible to create an event observer which will detect when a >>> field is focused? >> >>> I have tested this out by trying to assign it to the parent form >>> (figuring the event would bubble up) however nothing happens. >> >>> This is what I have: >> >>> <script language="javascript" type="text/javascript"> >>> document.observe('dom:loaded', function() { >> >>> $('editForm').observe('focus', function(evnt){ >>> console.log('FOCUS!'); >>> }); >> >>> }); >>> </script> >> >>> <form method="post" name="editForm" id="editForm" action=""> >>> <input type="text" name="foobar" /> >>> </form> > > --~--~---------~--~----~------------~-------~--~----~ 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 prototype-scriptaculous+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/prototype-scriptaculous?hl=en -~----------~----~----~----~------~----~------~--~---