[Seaside] Re: Seaside Async and form submission

Carl Gundel carlg at libertybasic.com
Thu Feb 19 15:41:50 UTC 2009

On Feb 19, 2009, at 9:42 AM, Bany, Michel wrote:

> Hi Carl,
> I had a look and found a couple of things I would correct in your  
> tiny class.
> Note that I was using VW 7.5 together with Seaside 2.6b1.136 and  
> SeasideAsync 1.61
> as found on the VW 7.5 distribution.
> 1. AsyncTest should be a subclass of WAAsyncComponent

The old version of Seaside and Async I am using does not have  

> 2. Method #rendererClass should be removed to inherit from the  
> superclass

Again, this isn't the case with the version I'm using.

I did make the same changes you mention when I ported the class to  
Seaside 7.6.

> Then I found out that #liveCallback: and #submitFormNamed:  
> 'testForm' are conflicting
> since both contribute a 'return false' to the onclick event handler.
> So I created a fix for you. See ftp://ftp.bany.fr/seaside/ForCarlGundel.zip

Cool.  Thanks.

> This archive includes your tiny class, a fix to WAHtmlAttributes  
> that makes sure
> there is only one 'return false' at the very end, and s-unit tests  
> for the fix.

This is fix for Seaside?

> With the fix, your tiny class works fine in FF, but not in Safari. I  
> didn't try in IE.

Ah, well it would need to work for all three.  Maybe there is still a  

> I'm not sure you tiny class reflects what you are trying to achieve.  
> This tiny class
> does something weird, it submits a form and ajax-updates the whole  
> form in the same
> javascript handler. I guess you real app is only ajax-updating  
> portions of the form.

The class doesn't do exactly what I want because of the form.  I also  
noticed it was replacing the form and changed it so that it would  
not.  I mentioned this in a followup post.

However this raises the question of whether there is anything  
technically wrong with a live component replacing the part of the DOM  
tree it lives in, or even the whole page.  Is this going to cause  
weird problems?  This is important to me because Run BASIC is a  
completely open ended programming system.  It helps me if Seaside and  
Async are robust enough to handle this, but I can add Ajax training  
wheels if needed.

Also, it has taken me some time to really understand the idiom of  
Async.  It was easy for me to make wrong assumptions about its  
intended usage.  I have been unable to find any real Async  
documentation since most of the attention goes to Scriptaculous.  I  
have been trying to avoid that since it relies on Prototype which I've  
heard is incompatible with toolkits like Dojo and jQuery.

> Hope this helps,

Thanks.  I'll have a look at the fix.

-Carl Gundel

More information about the seaside mailing list