What do you mean by passing it through url? I am obtaining the value that is entered using request.vars, if I wasn't passing the value then it wouldn't be creating the entered amount of form fields, and it does this correctly. It only raises this error when I try submitting the form, which is where I am confused.
On Friday, February 26, 2016 at 1:16:18 PM UTC-8, Richard wrote: > > You fall on an empty "name" vars... Could you have forget to pass the name > vars throught url? > > Richard > > On Fri, Feb 26, 2016 at 3:14 PM, <[email protected] <javascript:>> wrote: > >> Can someone please tell me why I am getting this error and how to fix it? >> >> >> numpatients = int(request.vars.name); >> <type 'exceptions.TypeError'> int() argument must be a string or a >> number, not 'NoneType' >> >> *db.py* >> >> >> db.define_table('post', >> Field('patient'), >> Field('attime'), >> Field('age') >> ) >> >> *view.html* >> >> *index.html* >> >> <form enctype="multipart/form-data" action="{{=URL('default', >> 'postform')}}" method="post"> >> How many patients?: <input name="name"/> <input type="submit"/> >> </form> >> >> >> >> *postform.html* >> >> {{=BEAUTIFY(form)}} >> >> >> *controller.py* >> >> >> def postform(): >> inputs = []; >> numpatients = int(request.vars.name); >> for i in range(0, numpatients): >> inputs.append(db.post.patient.clone(name='%s_%s' % ( >> db.post.patient.name, i))) >> inputs.append(db.post.attime.clone(name='%s_%s' % ( >> db.post.attime.name, i))) >> inputs.append(db.post.age.clone(name='%s_%s' % (db.post.age.name, >> i))) >> form = SQLFORM.factory(*inputs) >> if form.process().accepted: >> for i in range(0,numpatients): >> db.post.insert(post=form.vars['patient_%s' % i]) >> db.post.insert(post=form.vars['attime_%s' % i]) >> db.post.insert(post=form.vars['age_%s' % i]) >> elif form.errors: >> response.flash = 'form has errors' >> return dict(form=form) >> >> >> >> >> I want to prompt the user to enter a value of how many patients to enter >> for the session, they are redirected to a page where a single form is >> displayed and there are multiple form field instances displayed based on >> the number of patients they want to enter for that session. When I click >> submit after filling the form, I keep getting that error and I don't >> understand why or how to change it because I need that value from the >> previous page to know how many form field instances to display. >> >> -- >> Resources: >> - http://web2py.com >> - http://web2py.com/book (Documentation) >> - http://github.com/web2py/web2py (Source code) >> - https://code.google.com/p/web2py/issues/list (Report Issues) >> --- >> 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] <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- 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/d/optout.

