I figured this out later on - I've adjusted all the variables and field 
names to start with a Q.  Thanks.

On Saturday, March 2, 2013 5:57:30 PM UTC-5, Arglanir wrote:
>
> I think your compilation error comes from the fact that in Python you 
> cannot have a variable name starting with a number. Try changing the field 
> names of Evaluation table to <letter>_1_1A... 
>
> Then remember that only one form can be submitted in HTML, so your 
> controler will be called only for one submitted form, not all. 
>
> Le samedi 2 mars 2013 07:26:18 UTC+1, Anthony Bond a écrit : 
> > I've been working with web2py for about two months now.  I've figured 
> out how to do a lot of awesome things with it; however, the problem I'm 
> having now has me stumped. 
> > 
> > 
> > I'm working on an application that allows a user to submit a 
> self-evaluation, based on criteria that the user will find on a page.  I 
> have a table with 33 rows of of criteria.  The table contains a column 
> which hosts the criteria, pre-formatted in HTML.  Each HTML section 
> contains a table the gives the users the criteria for each of six levels - 
> these individual tables are almost large enough to take up the entire 
> content section of the webpage, so I've placed them all in a jQuery 
> accordion.  Below each table, I've placed a drop down list, where the user 
> can select what criteria they feel as though they've met.  I've added a 
> small screenshot to show the look and feel I'm trying to achieve (and 
> currently have). 
> > 
> > 
> > The problem I'm having is getting the values of those drop down lists 
> back from the database.  Currently, I iterate through the table containing 
> the HTML using a for loop, tacking a drop down list at the end of each. 
>  Right now, I'm unable to get the data back from the page.  Here is my 
> code: 
> > 
> > 
> > 
> > def Take_Eval():  
> > 
> >     user = db(db.Person.auth_userUserId == 
> > auth.user.id).select().first().PersonId 
>
> > 
> >     table = db(db.PageContent.ContentId > 0).select() 
> > 
> >     submit = INPUT(_name='submit', _type='submit') 
> > 
> >     formlist = [] 
> > 
> >      
> > 
> >     for row in table: 
> > 
> >         newForm = FORM(H2(row['ContentDescription'], 
> _style="padding-left: 10px;"), 
> > 
> >         DIV(XML(row.ContentHTML), BR(), P(SELECT(OPTGROUP(OPTION('Does 
> not Attempt', _value=0), OPTION('Developing', _value=1), 
> OPTION('Progressing', _value=2), OPTION('Established', _value=3), 
> OPTION('Advanced', _value=4), OPTION('Master', _value=5)), 
> _id=row['QuestionNumber']), _style='text-align: center;'))) 
> > 
> >         formlist.append(newForm) 
> > 
> >      
> > 
> >     for form in formlist: 
> > 
> >         if form.accepts(request, session): 
> > 
> >            response.flash = 'Profile Saved Successfully on  ' + 
> str(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) 
> > 
> >        #db.Evaluation.insert(PersonBeingEvaluated, PersonEvaluating, 
> EvalDate ,1_1A ,1_1B ,1_2 ,1_3 ,1_4 , 1_5, 1_6, 2_1, 2_2A , 2_2B, 2_3A 
> ,2_3B ,2_4 ,2_5 ,3_1 , 3_2 , 3_3, 3_4, 3_5A, 3_5B, 3_6, 3_7, 3_8, 3_9A, 
> 3_9B, 3_9C, 4_1, 4_2, 4_3A, 4_3B, 4_4, BeliefsScore, CharacterScore) 
> > 
> >             
> > 
> >            redirect(URL('default', 'index')) 
> > 
> >         elif form.errors: 
> > 
> >            response.flash = 'Profile could not be submitted.  Please try 
> again later. ' 
> > 
> >      
> > 
> >     db.Evaluation.insert(PersonBeingEvaluated=user, PersonEvaluating=0, 
> EvalDate=datetime.now(), 1_1A = formlist[0].vars.1_1A, 1_1B = 
> formlist[1].vars.1_1B, 1_2 = formlist[2].vars.1_2, 1_3 = 
> formlist[3].vars.1_3, 1_4 = formlist[4].vars.1_4, 1_5 = 
> formlist[5].vars.1_5, 1_6 = formlist[6].vars.1_6, 2_1 = 
> formlist[7].vars.2_1, 2_2A = formlist[8].vars.2_2A, 2_2B = 
> formlist[9].vars.2_2B, 2_3A = formlist[10].vars.2_3A, 2_3B = 
> formlist[11].vars.2_3B, 2_4 = formlist[12].vars.2_4, 2_5 = 
> formlist[13].vars.2_5, 3_1 = formlist[14].vars.3_1, 3_2 = 
> formlist[15].vars.3_2, 3_3 = formlist[16].vars.3_3, 3_4 = 
> formlist[17].vars.3_4, 3_5A = formlist[18].vars.3_5A, 3_5B = 
> formlist[19].vars.3_5B, 3_6 = formlist[20].vars.3_6, 3_7 = 
> formlist[21].vars.3_7, 3_8 = formlist[22].vars.3_8, 3_9A = 
> formlist[23].vars.3_9A, 3_9B = formlist[24].vars.3_9B, 3_9C = 
> formlist[25].vars.3_9C, 4_1 = formlist[26].vars.4_1, 4_2 = 
> formlist[27].vars.4_2, 4_3A = formlist[28].vars.4_3A, 4_3B = 
> formlist[29].vars.4_3B, 4_4 = formlist[30].vars.4_4, BeliefsScore = 
> formlist[31].vars.BeliefsScore, CharacterScore = 
> formlist[32].vars.CharacterScore) 
> > 
> >            
> > 
> >     return locals() 
> > 
> > 
> > The code is not letting me compile due to a syntax error on the area 
> I've highlighted above.  I'm okay with not using a form, or a bunch of 
> forms, as long as I can get the values from the drop down list back to the 
> controller when the submit button is clicked.  I originally looped through 
> the table in the view to make the display.  Each drop down has a unique 
> name that I'd be able to access in the controller, but I haven't been able 
> to figure out how to do that only after post back.  I appreciate any 
> guidance that could be given.  Thanks!

-- 

--- 
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/groups/opt_out.


Reply via email to