All HTML helpers act like dictionaries with respect to their attributes (and attributes beginning with "_" become HTML element attributes), so for a string field:
f.custom.widget.fieldname['_size']=10 will yield: <input class="string" id="test_fieldname" name="fieldname" size="10" type= "text" value="" /> Anthony On Tuesday, April 9, 2013 5:42:49 AM UTC-4, Nguyen Minh Tuan wrote: > > Hi Anthony, > > I try to custom view by using form.custom, > But I have trouble in format control, Ex : I want to set textbox size to > 10 or whatever > Can I add more attributes to form.custom.widget.fieldname? > > Thanks, > Tuan. > > On Sunday, October 7, 2012 9:44:57 PM UTC+7, Anthony wrote: > >> Depending on what you want to do on the processing side and what you want >> to do on the display side, you probably don't have to completely repeat >> everything. You can use form.custom.widget.fieldname in the view if that is >> suitable. You can also use the server-side DOM to add classes, etc. Another >> option is to make the "formstyle" argument to SQLFORM.factory a callable, >> which can generate whatever form layout you want. >> >> Anthony >> >> On Saturday, October 6, 2012 7:31:12 PM UTC-4, Austin Cormier wrote: >>> >>> That definitely works and I've done it like that a couple times, but >>> then I'm defining the input fields in two separate places. >>> >>> I'm thinking that maybe I have a custom view function that can take a >>> vanilla form and then add my styling to it automatically. If I only had to >>> do a few forms it wouldn't be a big deal but I want to try and keep the >>> duplication as minimal as possible. >>> >>> On Saturday, October 6, 2012 6:18:49 PM UTC-4, Anthony wrote: >>>> >>>> Just use >>>> SQLFORM.factory<http://web2py.com/books/default/chapter/29/07#SQLFORM.factory>in >>>> the controller to define the form fields, and then build the form >>>> manually in the view (possibly using some of the >>>> form.custom<http://web2py.com/books/default/chapter/29/07#Custom-forms>items). >>>> >>>> Anthony >>>> >>>> On Saturday, October 6, 2012 2:07:49 PM UTC-4, Austin Cormier wrote: >>>>> >>>>> So I have the following customer form defined in my view for >>>>> prototyping: >>>>> >>>>> form = FORM(FIELDSET(DIV(LABEL('Email Address', >>>>> _class="control-label"), >>>>> DIV(INPUT(_class="input-large", _id="email", >>>>> _name='email', >>>>> requires=IS_NOT_EMPTY()), >>>>> _class="controls"), >>>>> _class="control-group"), >>>>> DIV(DIV(BUTTON("Add Email", _type='submit', >>>>> _class="btn"), >>>>> _class="controls"), >>>>> _class="control-group"), >>>>> >>>>> >>>>> >>>>> _class="gebo"), >>>>> _class="form-horizontal") >>>>> >>>>> The issue is that I need to define the form in the controller so that >>>>> I can run through the form accept (don't want to do that in the views). >>>>> Even though I'm doing this in the controller, I would like the view to >>>>> be >>>>> responsible for styling the form. Are there any useful techniques anyone >>>>> knows of so that I can do this in a reusable and maintainable way across >>>>> my >>>>> application? >>>>> >>>> -- --- 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 [email protected]. For more options, visit https://groups.google.com/groups/opt_out.

