Re: Validation failing in IE6/7
Hello again, I'm extremely happy to close this one off. I _finally_ found the source of the problem today. As it turns out, the lightbox solution I was using was including its own version of effects.js which was quite old - and conflicting with the one already provided by Tapestry. Once I removed it, everything started working perfectly. Drew On Mon, 2009-11-23 at 16:42 +, Andrew Miller wrote: > I've taken a look and it's definitely within a form element. The problem > appears to be that tapestry.js isn't adding that function to the > element, IE6/7 complains thus: > > Error: Object doesn't support this property or method > > Interestingly, IE8 was making the exact same complaint until I upgraded > Prototype to the latest version - now it works perfectly. This seems to > suggest it's a problem (or some sort of conflict) with Prototype, but > I'm still at a complete loss as to why. > > Drew > > On Mon, 2009-11-23 at 05:16 -0800, Howard Lewis Ship wrote: > > That seems very odd, as Tapestry (i.e., tapestry.js) will create the > > Tapestry.FormEventManager object if it does not already exist. Could > > it be because the field in question is not contained within a form? > > > > On Mon, Nov 23, 2009 at 4:45 AM, Andrew Miller > > wrote: > > > I've done a bit more digging on this and I made a mistake in my original > > > assumption: > > > > > >> The failure occurs during the Tapestry.init function. I've traced the > > >> javascript execution through and I've found the exact line it's failing > > >> on - during the call to the Tapestry.Initializer.validate function, it's > > >> failing on this line: > > >> > > >> $(field.form).getFormEventManager(); > > >> > > >> and stepping through the function it's specifically failing within the > > >> $() call! In prototype.js, when it comes to returning the extended > > >> element (last line of the $() function): > > >> > > >> return Element.extend(element); > > >> > > >> it fails and goes to the try/catch statement of Enumerable.each. > > > > > > This isn't where the function is failing - it's actually failing on the > > > call to getFormEventManager(). I've done some further double- and > > > triple-checking to make sure I'm right and this time I'm certain. > > > Apologies for the mistake. > > > > > > Can anyone explain why this function wouldn't be available on this > > > element? I've read through the code and I can't see what would be > > > stopping these from being added to the element, but as it's only IE6/7 > > > that's failing it could be something I'm completely overlooking. > > > > > > Does anyone have any ideas? > > > > > > Thanks again, > > > Drew > > > > > > - > > > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > > > For additional commands, e-mail: users-h...@tapestry.apache.org > > > > > > > > > > > > > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Validation failing in IE6/7
I've taken a look and it's definitely within a form element. The problem appears to be that tapestry.js isn't adding that function to the element, IE6/7 complains thus: Error: Object doesn't support this property or method Interestingly, IE8 was making the exact same complaint until I upgraded Prototype to the latest version - now it works perfectly. This seems to suggest it's a problem (or some sort of conflict) with Prototype, but I'm still at a complete loss as to why. Drew On Mon, 2009-11-23 at 05:16 -0800, Howard Lewis Ship wrote: > That seems very odd, as Tapestry (i.e., tapestry.js) will create the > Tapestry.FormEventManager object if it does not already exist. Could > it be because the field in question is not contained within a form? > > On Mon, Nov 23, 2009 at 4:45 AM, Andrew Miller wrote: > > I've done a bit more digging on this and I made a mistake in my original > > assumption: > > > >> The failure occurs during the Tapestry.init function. I've traced the > >> javascript execution through and I've found the exact line it's failing > >> on - during the call to the Tapestry.Initializer.validate function, it's > >> failing on this line: > >> > >> $(field.form).getFormEventManager(); > >> > >> and stepping through the function it's specifically failing within the > >> $() call! In prototype.js, when it comes to returning the extended > >> element (last line of the $() function): > >> > >> return Element.extend(element); > >> > >> it fails and goes to the try/catch statement of Enumerable.each. > > > > This isn't where the function is failing - it's actually failing on the > > call to getFormEventManager(). I've done some further double- and > > triple-checking to make sure I'm right and this time I'm certain. > > Apologies for the mistake. > > > > Can anyone explain why this function wouldn't be available on this > > element? I've read through the code and I can't see what would be > > stopping these from being added to the element, but as it's only IE6/7 > > that's failing it could be something I'm completely overlooking. > > > > Does anyone have any ideas? > > > > Thanks again, > > Drew > > > > - > > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > > For additional commands, e-mail: users-h...@tapestry.apache.org > > > > > > > - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Validation failing in IE6/7
That seems very odd, as Tapestry (i.e., tapestry.js) will create the Tapestry.FormEventManager object if it does not already exist. Could it be because the field in question is not contained within a form? On Mon, Nov 23, 2009 at 4:45 AM, Andrew Miller wrote: > I've done a bit more digging on this and I made a mistake in my original > assumption: > >> The failure occurs during the Tapestry.init function. I've traced the >> javascript execution through and I've found the exact line it's failing >> on - during the call to the Tapestry.Initializer.validate function, it's >> failing on this line: >> >> $(field.form).getFormEventManager(); >> >> and stepping through the function it's specifically failing within the >> $() call! In prototype.js, when it comes to returning the extended >> element (last line of the $() function): >> >> return Element.extend(element); >> >> it fails and goes to the try/catch statement of Enumerable.each. > > This isn't where the function is failing - it's actually failing on the > call to getFormEventManager(). I've done some further double- and > triple-checking to make sure I'm right and this time I'm certain. > Apologies for the mistake. > > Can anyone explain why this function wouldn't be available on this > element? I've read through the code and I can't see what would be > stopping these from being added to the element, but as it's only IE6/7 > that's failing it could be something I'm completely overlooking. > > Does anyone have any ideas? > > Thanks again, > Drew > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > > -- Howard M. Lewis Ship Creator of Apache Tapestry The source for Tapestry training, mentoring and support. Contact me to learn how I can get you up and productive in Tapestry fast! (971) 678-5210 http://howardlewisship.com - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Validation failing in IE6/7
I've done a bit more digging on this and I made a mistake in my original assumption: > The failure occurs during the Tapestry.init function. I've traced the > javascript execution through and I've found the exact line it's failing > on - during the call to the Tapestry.Initializer.validate function, it's > failing on this line: > > $(field.form).getFormEventManager(); > > and stepping through the function it's specifically failing within the > $() call! In prototype.js, when it comes to returning the extended > element (last line of the $() function): > > return Element.extend(element); > > it fails and goes to the try/catch statement of Enumerable.each. This isn't where the function is failing - it's actually failing on the call to getFormEventManager(). I've done some further double- and triple-checking to make sure I'm right and this time I'm certain. Apologies for the mistake. Can anyone explain why this function wouldn't be available on this element? I've read through the code and I can't see what would be stopping these from being added to the element, but as it's only IE6/7 that's failing it could be something I'm completely overlooking. Does anyone have any ideas? Thanks again, Drew - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org