I've been trying to get a form built where the number of Fields are
dynamic. I was successful with the plan form by using:
------------Form Implementation------------------------
fields=[]
for item in list:
fields.append(item)
fields.append(INPUT(_name=item,requires=IS_INT_IN_RANGE
(0,100,error_message=('Must be an Int 0 to 100'))))
fields.append(INPUT(_type='submit'))
form=FORM([fields[num] for num in range(len(fields))])
------------Form Implementation------------------------
I can append items to my form but the output in HTML is nasty.
Everything is just crammed together. I read about form.custom and was
going to use that approach but apparently I have to use the
SQLFORM.factory() to use that. Attempting the same thing in
SQLFORM.factory() looks like
------------SQLFORM.factory() Implementation------------------------
fields.append(Field('item1'))
fields.append(Field('item2'))
form=SQLFORM.factory(fields[0])
#This works, but obviously isn't dynamic I only get the first entry.
form=SQLFORM.factory(fields[num] for num in range(len(fields)))
#This errors with "define_table argument is not a Field: <generator
object at 0x110BD7B0>"
------------SQLFORM.factory() Implementation------------------------
Can anyone help me out here? I want to be able to arrange the fields
in HTML like I want (which I can't seem to do with just the simple
form), but I also want to be able to build the fields dynamically
which I can't seem to get working with SQLFORM.factory(). I'm sure
I'm missing something easy, this can't be as hard as I'm making it.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"web2py-users" 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
-~----------~----~----~----~------~----~------~--~---