Hi Massimo et al,
First of all, the onvalidation callback that is now in SQLFORM (in
trunk) is a real winner, thanks! The validation rules in my app are
largely context-sensitive, and that was a big problem -- until now.
I am still struggling to find the best way to customize SQLFORM views,
though. The "new" form.element() function only allows me to modify the
attributes existing xml nodes -- is that correct?
For instance, I needed previous/next buttons in a multi-page form, and
I really hate having to handcode entire forms in the html (or in the
controller, for that matter). This is what I came up with:
# controller
form=SQLFORM(db.t2_person,myperson,deletable=False,showid=False)
l = len(form.components[0]) # =number of rows in form
# add input element to second td in submit row
form.components[0][l-1][1].append( INPUT(_type="buttonx") )
# redefine both "submit" and "buttonx"
form.element(_type="submit").update(_type="button",
_value="<<Previous",_onclick="location='"+URL
(r=request,f='step1')+"';")
form.element(_type="buttonx").update(_type="submit",
_value="Next>>")
Basically, I add a new 'dummy' input element and then redefine both
inputs using form.element(). This works, but the direct use of the
internal form/div structure to insert a new xml node is an eyesore. Is
there a better way to do this?
Ideally, I'd be looking for a sort of formalized API that I could use
to manipulate the entire xml tree of the form, eg, similar to the
DOM.
Cheers,
-Peter
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"web2py Web Framework" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---