I have something like this: form = FORM('Emails:', BR(), INPUT(_name='email', requires=IS_NULL_OR(IS_EMAIL())), BR(), INPUT(_name='email', requires=IS_NULL_OR(IS_EMAIL())), BR(), INPUT(_name='email', requires=IS_NULL_OR(IS_EMAIL())), BR(), INPUT(_name='email', requires=IS_NULL_OR(IS_EMAIL())), BR(), INPUT(_name='email', requires=IS_NULL_OR(IS_EMAIL())), BR(), 'Message:', BR(), TEXTAREA(_name='message'), BR(), INPUT(_type='submit', _value='Invite'))
However, it seems to crash if I have multiple elements named 'email'. It works fine if I name them email1, email2, etc. This is the error: Error traceback Traceback (most recent call last): File "C:\Documents and Settings\minh\My Documents\InvestP2P\gluon \restricted.py", line 173, in restricted exec ccode in environment File "C:/Documents and Settings/minh/My Documents/InvestP2P/ applications/investp2p/controllers/loans.py", line 209, in <module> File "C:\Documents and Settings\minh\My Documents\InvestP2P\gluon \globals.py", line 96, in <lambda> self._caller = lambda f: f() File "C:\Documents and Settings\minh\My Documents\InvestP2P\gluon \tools.py", line 1848, in f return action(*a, **b) File "C:/Documents and Settings/minh/My Documents/InvestP2P/ applications/investp2p/controllers/loans.py", line 200, in invite_lenders if form.accepts(request.vars, session): File "C:\Documents and Settings\minh\My Documents\InvestP2P\gluon \html.py", line 1267, in accepts status = self._traverse(status) File "C:\Documents and Settings\minh\My Documents\InvestP2P\gluon \html.py", line 449, in _traverse newstatus = c._traverse(status) and newstatus File "C:\Documents and Settings\minh\My Documents\InvestP2P\gluon \html.py", line 456, in _traverse newstatus = self._validate() File "C:\Documents and Settings\minh\My Documents\InvestP2P\gluon \html.py", line 1074, in _validate (value, errors) = validator(value) File "C:\Documents and Settings\minh\My Documents\InvestP2P\gluon \validators.py", line 2055, in __call__ return self.other(value) File "C:\Documents and Settings\minh\My Documents\InvestP2P\gluon \validators.py", line 774, in __call__ match = self.regex.match(value) TypeError: expected string or buffer On Feb 26, 1:02 pm, Thadeus Burgess <thade...@thadeusb.com> wrote: > if they all have the same name you will receive it as a list in > request.vars as the name > > You will need to use jQuery to dynamically add more fields. > > Also, you could use a textarea instead and have them press enter, and > then split the string on '\n' > > So considering the following html > > <input type="text" name="hi" id="hi1" value="hello" /> > <input type="text" name="hi" id="hi2" value="world" /> > > This will be serialized into > > www.example.com?hi=hello&hi=world > > Which will be parsed by web2py into request.vars like so. > > request.vars.hi = ['hello', 'world'] > > -Thadeus > > On Fri, Feb 26, 2010 at 2:50 PM, minh <mdn0...@gmail.com> wrote: > > Hi, > > > I want to make a page where users can enter e-mails to send an invite. > > There will be an array of input boxes (1 e-mail each box) and a send > > button. > > > I was wondering what the best way to generate the form dynamically > > was... in case the user wanted to add more e-mails. > > > Also, is there a way to iterate through the form elements so I don't > > have to worry about number/name of input fields? > > > Thanks, > > Minh > > > -- > > You received this message because you are subscribed to the Google Groups > > "web2py-users" group. > > To post to this group, send email to web...@googlegroups.com. > > To unsubscribe from this group, send email to > > web2py+unsubscr...@googlegroups.com. > > For more options, visit this group > > athttp://groups.google.com/group/web2py?hl=en. -- You received this message because you are subscribed to the Google Groups "web2py-users" group. To post to this group, send email to web...@googlegroups.com. To unsubscribe from this group, send email to web2py+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/web2py?hl=en.