The solution is to put the table and the form in a div not in a dict. Simple enough.. ^^
On Wednesday, May 10, 2017 at 10:35:42 PM UTC+2, Lars wrote: > > Hi, > > Those are my first steps with ajax, so please indulge me.. :) > > I have a list of divs describing objects. Id like to click on one div so > that it sends the object id in an ajax call which would open a div at the > top with the object description and a form to bid on it. I don't know how > to send the id to a LOAD function and the poor result I got so far led to a > already submitted form which give the validator error message (here a > decimal in range). > > So this is what I have so far : cf. test code > > so when this code runs it render a new whole page containing the table in > the div. If I add the form in the dict, it just renders nothing. > > db.py : > db.define_table('objects', Field('name'), Field('price')) > # demo data > db.objects.bulk_insert([dict(name='station', price=52), dict(name='desk', > price=52), dict(name='glass', price=52), dict(name='beer', price=52)]) > > default.py > def index(): > # get objects list > current_objects = db(db.objects).select().as_list() > return dict(current_objects=current_objects) > > > def object_desc(): > oid = request.vars.oid > # get object description > object_desc = db(db.objects.id == oid).select() > name = object_desc[0].name > price = object_desc[0].price > > object_desc = TABLE(TH('object Details', _colspan="2"), > TR('Name : ', TD(name, _colspan="3")), > TR('Price : ', TD(price, _colspan="3")) > ) > > form = SQLFORM(db.bid) > return dict(oid=oid, object_desc=object_desc) > > > index.html > {{extend 'layout.html'}} > {{n = 0}} > > <div id="object_tools" style="display: none; color: white; > background-color: black; width: 500px;height: 500px;"> > </div> > > <div class="container-fluid"> > > <div class="row"> > <div class="col-xs-6">{{=T('Name')}}</div> > <div class="col-xs-6">{{=T('Price')}}</div> > </div> > > {{for object_ in current_objects:}} > {{n += 1}} > <div class="col-xs-12" > onclick="$('#object_tools').slideToggle(); var oid={{=object_['id']}}; > ajax('object_desc?oid=' + oid, [], 'object_tools');"> > <div class="col-xs-6">{{=object_['name']}}</div> > <div class="col-xs-6">{{=object_['price']}}</div> > </div> > {{pass}} > > </div> > > > Thanks > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.