I seriously doubt this would work. The [] where you have [n=n+1] is supposed to be a list of html targets whose values will be passed back to the controller URL('index'). The proper ajax call would be onclick="ajax('index',[],':eval');return false;". In this case, "index" is defined in the controller callback routine, "index".
On Dec 18, 11:56 am, Rick <sababa.sab...@gmail.com> wrote: > If "n" would be a global variable in a controller file, can I use > something like this then? > > <div id="the_id">{{=n}}</div> > <a href="#" onclick="ajax('{{=URL('index')}}',[n=n+1],'the_id');return > false">plus</a> > > On Dec 18, 4:23 pm, Rick <sababa.sab...@gmail.com> wrote: > > > Perhaps there is a way to get different variable values depending on > > what address you load??? For example: > > http:.......default/index.html...something...n=1,m=0 > > > On Dec 18, 4:07 am, Luther Goh Lu Feng <elf...@yahoo.com> wrote: > > > > You can use javascript or jquery(since web2py includes jquery) to do > > > this: > > > > ==javascript== > > > $('#some_id).click(function() > > > { > > > $('#target").val( ($('#target").val()+1) ); > > > } > > > ) > > > > ==html== > > > <span id="some_id"<a href="#"> Click me</a></span> > > > > <span id="target">2</span> > > > > This should more or less work. > > > > On Dec 18, 10:02 am, Rick <sababa.sab...@gmail.com> wrote: > > > > > Thanks for the replies! The variable that I'm operating with is python > > > > type, not javascript. Mdipierro, your solution looks nice, but i can't > > > > get it working. The value of the variable doesn't seem to change. Here > > > > is my code: > > > > > from views/default/index.html: > > > > {{n=1}} > > > > <a href="#" onclick="ajax('{{=URL('plus_n')}}',[],':eval');return > > > > false">plus</a> > > > > {{=n}} > > > > > controller.py > > > > def plus_n(): > > > > # check this was called by the ajax post > > > > if request.env.request_method=='POST': > > > > # do anything you need to do > > > > session.n=session.n+1 > > > > # optional return instructions in JS > > > > return "$('.flash').html('n was incremented').slideDown();" > > > > > On Dec 18, 2:26 am, pbreit <pbreitenb...@gmail.com> wrote: > > > > > > I don't really understand the question. Do you want to change a > > > > > JavaScript > > > > > variable? Or a variable in your web2py code? I don't think you would > > > > > be able > > > > > to modify a web2py variable as the result of a click. By the time the > > > > > suer > > > > > views your page, all the web2py code has been rendered into HTML. > > > > > You'll > > > > > either need to code some JavaScript or perform some sort of Ajax call > > > > > back > > > > > to your server. > > > > > > What exactly are you trying to do? > >