[Seaside] jQuery anchor and multiple div update
Karsten Kusche
karsten at heeg.de
Wed Jun 5 12:07:21 UTC 2013
John,
there's no use in serializing an anchor. You can serialize a form in order to transport the values of the form to the server, but there's no other use for that (http://api.jquery.com/serialize/)
As for the order of javascript, the script that's created here performs a single Ajax request to the server (by calling #ajax), responding with a script that replaces the contents of two html nodes.
> html anchor
> callback: [ self setIndex: aValue ];
> onClick: (html jQuery ajax
> serializeThis;
> script: [ :s | (s jquery: anId) html: [ :h | self renderStuffOn: h ].
> s << (s jQuery: anId2) html: [ :h | self renderSomeOtherStuffOn: h ] ]...
I think there's some confusion as to when the different blocks are executed. The script block [:s | …. ] is executed in response to the ajax request. It immediately executes the two html blocks [:h | … ] and the result is part of the script that the script-block produces.
When you debug that using Chrome or Firebug, check the network panel for the traffic that's generated. You should only see one get request and the response of that request is javascript code like jQuery("#id1").html("yadayada"); jQuery("#id2").html("yagayaga");
Now in the Original example there were some #load calls, that generate extra ajax requests. These request could lead to load-order conflicts. But as Ryan already pointed out, they only make things more complicated in this context.
Kind Regards
Karsten
--
Karsten Kusche - Dipl. Inf. (FH) - karsten at heeg.de
Georg Heeg eK - Köthen
Handelsregister: Amtsgericht Dortmund A 12812
Am Mittwoch, 5. Juni 2013 um 13:21 schrieb John McKeon:
> Hi Dario,
> I think the trouble is that when you have two or more ajax scripts to be run you are not guaranteed which will run first. If you use a callback and send serializeThis to the ajax object, it runs before any scripts:
>
> html anchor
> callback: [ self setIndex: aValue ];
> onClick: (html jQuery ajax
> serializeThis;
> script: [ :s | (s jquery: anId) html: [ :h | self renderStuffOn: h ].
> s << (s jQuery: anId2) html: [ :h | self renderSomeOtherStuffOn: h ] ]...
> Regards,
> John
> On Wed, Jun 5, 2013 at 4:40 AM, <dtrussardi at tiscali.it (mailto:dtrussardi at tiscali.it)> wrote:
> > Ciao,
> >
> > i have a anchor based on this code:
> >
> > html anchor
> > script: (html jQuery this button
> > text: true;
> > primaryIcon: 'ui-icon-circle-plus'
> > title: 'Successivo');
> >
> > onClick: (html jQuery ajax
> > ( html jQuery ajax
> > script: [ :s | s << (s jQuery: #'base') load html:[:h| "A" self incrementaIndex: true.
> > "B1" (self renderingBaseOn: h)].
> >
> > s << (s jQuery: #'orarioRiferimento') load html:[:h| "B2" ( self renderOrarioRiferimentoOn: h)]]);
> > with: '>'.
> >
> >
> > My objective when a user click on this anchor is:
> >
> > A) update a index with the self incrementaIndex: true.
> >
> > B1) update the div #base with: self renderingBaseOn: h
> >
> > B2) update the div #orarioRiferimento with: self renderOrarioRiferimentoOn: h
> >
> >
> > Where the B1 - B2 rendering is based on the index state.
> >
> > Now i have a strange behavior because sometime the B2 div #orarioRiferimento renderings is not aligned to the index.
> >
> > As if the onClick script action is not execute in the definition sequence.
> >
> >
> > Any suggestions ?
> >
> > What is the right definition to solve this problematic type ?
> >
> > Thanks,
> >
> > Dario
> >
> >
> >
> > _______________________________________________
> > seaside mailing list
> > seaside at lists.squeakfoundation.org (mailto:seaside at lists.squeakfoundation.org)
> > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
> >
>
>
>
> --
> jmck.seasidehosting.st (http://jmck.seasidehosting.st/)
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org (mailto:seaside at lists.squeakfoundation.org)
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20130605/3e323497/attachment.htm
More information about the seaside
mailing list