On further consideration, I consider this a kludge, albeit one that I'm at a loss to figure out how to fix. The "web2py way" is web2py +jQuery+ajax+css+... (hope I didn't leave something out). In the interest of backwards compatibility, we need to think carefully about this web2py_ajax.html file and how it gets updated. For instance, the new web2py_ajax.html file and ajax-ing approach seem to be passing variables by the name of the widget referenced by the event, not by its id. In the past, it was id only. This is a rather substantial change that I seem to have missed in the forum threads (I was out of town for a few weeks) and also is missing in the doc. Beating my head on this wall effectively wasted me a day. I've got to believe there's a better way.
Nevertheless, I'm closing this thread because my underlying issue is resolved. But I'm carrying scars from the experience. On Dec 4, 6:23 pm, Jonathan Lundell <jlund...@pobox.com> wrote: > On Dec 4, 2010, at 2:53 PM, weheh wrote: > > > > > OK, that did the trick. Thanks. > > > As for the web2py_ajax.html file, all I have to say is, 'Urggh!' This > > is probably the 3rd time I've been bitten by changes to the file in > > the last year or two. Must keep that in mind in the future. > > Right; you can't count on being able to simply copy it over to your > application when it changes. > > I've been doing this (a little tedious, but necessary). I make a copy of the > stock web2py_ajax.html file (this could happen with other application files > as well; layout.html in my case) to keep as a reference, and then make my own > local changes to it (typically not a lot, but some). > > When I'm motivated to incorporate a newer version, I diff the original stock > file against the new one, to see what the web2py changes are, and diff the > original stock file against my current file, to see what I did. Then I apply > my changes to the new stock version (keeping a reference copy, of course), > and also evaluate whether the changes to the web2py version have any > implications for my app, and deal with them. > > I could probably enlist hg to help with this process, but so far I've been > doing it manually; I find it a little less confusing. You're basically > merging two parallel branches, and sometimes it's hard to do that > mechanically. > > > > > Again, many thanks for the help, Nathan. You too, Jonathan. > > > On Dec 4, 5:26 pm, "mr.freeze" <nat...@freezable.com> wrote: > >> Yep, changed on 11/3. Maybe web2py_ajax.html doesn't fall under the > >> same backwards compatibility umbrella as the actual framework. Anyway, > >> it's selecting by name so just change your onclick to: > >> _onclick="ajax('process_checkbox',['junk'],':eval');") > >> ...and it should work. > > >> On Dec 4, 4:17 pm, "mr.freeze" <nat...@freezable.com> wrote: > > >>> Perhaps this was a recent change in trunk but it's definitely not > >>> backwards compatible. Selecting by name and id will definitely give > >>> you different results. > > >>> On Dec 4, 4:14 pm, "mr.freeze" <nat...@freezable.com> wrote: > > >>>> Your web2py_ajax.html ajax function IS different. Note this line: > >>>> Yours: > >>>> q = jQuery("[name="+s[i]+"]").serialize(); > >>>> Standard: > >>>> q = jQuery("#"+s[i]).serialize(); > > >>>> On Dec 4, 3:32 pm, weheh <richard_gor...@verizon.net> wrote: > > >>>>> On close inspection, web2py_ajax.html is out of date on my test app. I > >>>>> updated web2py_ajax.html and the test case still doesn't work. > >