It only solved the form name and the id of the form. All the fields and tr ids are the same then. And it dont work with crud anyway.
/R On Jun 24, 9:14 am, mdipierro <mdipie...@cs.depaul.edu> wrote: > what about? > > form1=SQLFORM(somedb,_id="a") > if form1.accepts(request.vars,session,formname='a'): > redirect(....) > form2=SQLFORM(somedb,_id="b") > if form2.accepts(request.vars,session,formname='b'): > redirect(....) > > Massimo > > On Jun 24, 1:44 am, Trollkarlen <robbelibob...@gmail.com> wrote: > > > Acually that wont work either because that dont change the _formname > > variable. > > Also all the internal fields and rows get the same names. > > > I solved it with this fix(without the form_prefix set it should work > > as before): > > --- web2py.org/gluon/sqlhtml.py 2009-06-11 14:29:55.000000000 +0200 > > +++ web2py/gluon/sqlhtml.py 2009-06-24 08:03:07.000000000 +0200 > > @@ -385,6 +385,7 @@ class SQLFORM(FORM): > > comments = True, > > keepopts = [], > > ignore_rw = False, > > + form_prefix=None, > > **attributes > > ): > > """ > > @@ -425,6 +426,9 @@ class SQLFORM(FORM): > > record = records[0] > > else: > > record = None > > + > > + self.form_prefix = form_prefix or table._tablename > > + > > self.record = record > > > self.record_id = None > > @@ -458,8 +462,7 @@ class SQLFORM(FORM): > > label = str(field.label) + ': ' > > self.custom.label[fieldname] = label > > > - field_id = '%s_%s' % (table._tablename, fieldname) > > - > > + field_id = '%s_%s' % (self.form_prefix, fieldname) > > > label = LABEL(label, _for=field_id, _id='%s__%s' % > > (field_id, ID_LABEL_SUFFIX)) > > > @@ -508,7 +511,7 @@ class SQLFORM(FORM): > > elif hasattr(field, 'widget') and field.widget: > > inp = field.widget(field, default) > > elif field.type == 'upload': > > - inp = self.widgets.upload.widget(field, default, > > upload) > > + inp = self.widgets.upload.widget(field, default, > > upload, _id='%s' % (field_id)) > > elif field.type == 'boolean': > > inp = self.widgets.boolean.widget(field, default) > > if default: > > @@ -517,15 +520,15 @@ class SQLFORM(FORM): > > inpval = '' > > elif OptionsWidget.has_options(field): > > if not field.requires.multiple: > > - inp = self.widgets.options.widget(field, default) > > + inp = self.widgets.options.widget(field, default, > > _id='%s' % (field_id)) > > else: > > - inp = self.widgets.multiple.widget(field, > > default) > > + inp = self.widgets.multiple.widget(field, > > default, _id='%s' % (field_id)) > > if fieldname in keepopts: > > inpval = TAG[''](*inp.components) > > elif field.type == 'text': > > - inp = self.widgets.text.widget(field, default) > > + inp = self.widgets.text.widget(field, default, > > _id='%s' % (field_id)) > > elif field.type == 'password': > > - inp = self.widgets.password.widget(field, default) > > + inp = self.widgets.password.widget(field, default, > > _id='%s' % (field_id)) > > if self.record: > > dspval = PasswordWidget.DEFAULT_PASSWORD_DISPLAY > > else: > > @@ -533,7 +536,7 @@ class SQLFORM(FORM): > > elif field.type == 'blob': > > continue > > else: > > - inp = self.widgets.string.widget(field, default) > > + inp = self.widgets.string.widget(field, default, > > _id='%s' % (field_id)) > > > tr = self.trows[fieldname] = TR(label, inp, comment, > > _id=row_id) > > > On Jun 23, 11:35 pm, mdipierro <mdipie...@cs.depaul.edu> wrote: > > > > That is because you have two create form for the same table. Form > > > processing would not work either. > > > > If the form where about different tables, the html "id" attributes > > > would be different. > > > If you need to customize them anyway, you can do one step lower level: > > > > form1=SQLFORM(somedb,_id="....") > > > if form1.accepts(request.vars,session): > > > redirect(....) > > > > and same for form1. > > > > Massimo > > > > On Jun 23, 4:20 pm, Robert Marklund <robbelibob...@gmail.com> wrote: > > > > > I have some problem with multiple create forms on the same page. > > > > def index(): > > > > form1 = crud.create(somedb) > > > > form2 = crud.create(somedb) > > > > return dict(form1=form1, form2=form2) > > > > > The problem here is that all the rows and the inputs gets the same html > > > > id > > > > and thats not good for jQuery manipulation. > > > > > I can see a solution in adding a form_prefix=None variable to SQLFORM > > > > that > > > > can fix all this. > > > > > /R > > > > > -- > > > > ______________________________________________ > > > > Robert Marklund > > > > > Phone: +46 (0)46 19 36 82 > > > > Mobile: +46 (0)70 213 22 76 > > > > E-mail: robbelibob...@gmail.com > > > > ______________________________________________ --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web2py Web Framework" group. To post to this group, send email to web2py@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 -~----------~----~----~----~------~----~------~--~---