In the example in chapter 3 of the book, mywiki application we have:

def search():
     "an ajax wiki search page"
     return dict(form=FORM(INPUT(_id='keyword',_name='keyword',
              _onkeyup="ajax('callback', ['keyword'], 'target');")),
              target_div=DIV(_id='target'))

def callback():
     "an ajax callback that returns a <ul> of links to wiki pages"
     query = db.page.title.contains(request.vars.keyword)
     pages = db(query).select(orderby=db.page.title)
     links = [A(p.title, _href=URL('show',args=p.id)) for p in pages]
     return UL(*links)


Assume that we would like to search a keyword both in the title and
the body of the wiki in the following manner:
1. The default search searches in the title and body both.
2. We have two check boxes with the attribute name set to "title" and
"body" respectively. Initially both are checked. But the user can
uncheck one of them to request the application to search only in the
other field. What is the best way to achieve this?

Specifically, if I add two checkboxes to the search function return
expression, i.e.:
INPUT(_type="checkbox", _name="title" ), "Title",
INPUT(_type="checkbox", _name="body"), "Body",
how I can check whether they are checked or not from within the
callback function? I'd like to use these two checkboxes to express
which fields of the database should be searched.




Reply via email to