On a second thought it is not too bad IF all widget have a _name
attribute in the outer html tag.


On May 8, 12:08 pm, mdipierro <[email protected]> wrote:
> Yes there is a problem!
>
> I fixed it for you in trunk (launchpad) but actually it is a bigger
> problem that it seems. With fix is that if the widget is too complex
> it may not display the error (because it is not obvious where the
> error should be displayed).
> I will keep working on this but let me know if this is fine for you
> for now.
>
> Massimo
>
> On May 8, 11:09 am, Scott Hunter <[email protected]> wrote:
>
> > That may have more of a symptom than the cause.  The other widget I
> > defined was:
>
> > def choice_widget(field,value,labels,required):
> >         """
> >         Widget to substitute a pup-up menu with a set of radio buttons
> >         """
> >         id=field._tablename+'_'+field.name
> >         sro = []
> >         i = 0
> >         selected = False
> >         for x in labels:
> >                 if str(value)==str(i):
> >                         sro.append( OPTION(x,_value=i,_selected="selected") 
> > )
> >                         selected = True
> >                 else:
> >                         sro.append( OPTION(x,_value=i) )
> >                 i += 1
> >         set = [x for x in range(len(labels))]
> >         if not selected:
> >                 sro = [OPTION('', _value=-1)]+sro
> >                 if not required:
> >                         set = [-1]+set
> >         kw = {'_class':'integer', '_id':id, '_name':field.name,
> >                 'requires':IS_IN_SET(set, error_message='required 
> > information!')}
> >         return SELECT(*sro, **kw)
>
> > And here's an example of its use:
>
> > db.define_table('tbl', SQLField('field', 'integer', widget=lambda
> > a,b:choice_widget(a,b,['a','b'],True)))
>
> > When I bring up an insertion form (through appadmin or my own
> > controller), all is well.  But if I try to submit, and there is an
> > error (as there will be if nothing is changed), the nesting originally
> > described appears on the page w/ the error message (for a SELECT,
> > you'd have to view the source to see the nesting).  If I reload the
> > form, the nesting appears (but the error messages do not).  If I
> > navigate away from and back to the insertion form, there's no nesting
> > (and no error message).
>
> > Thanks again,
> > Scott
>
> > On May 8, 10:46 am, mdipierro <[email protected]> wrote:
>
> > > I cannot reproduce the problem but there is a typo in your code
>
> > >         "Widget to allow size of textarea to be specified""
>
> > > should be
>
> > >         "Widget to allow size of textarea to be specified"
>
> > > Massimo
>
> > > On May 8, 9:12 am, Scott Hunter <[email protected]> wrote:
>
> > > > Just downloaded v 1.61.4 (Mac), and I'm having a problem w/ widgets.
> > > > For example:
>
> > > > def ta_widget(field,value,nr):
> > > >         "Widget to allow size of textarea to be specified""
> > > >         return TEXTAREA("xyz", _type="text", _class="text", _rows=nr,
> > > > _cols=40,
> > > >                                         _name=field.name, 
> > > > _id=field._tablename+'_'+field.name)
>
> > > > ...
> > > > SQLField('textfield','text',widget=lambda a,b:ta_widget(a,b,1)),
> > > > ...
>
> > > > Yields the following HTML, which presents as a text area w/ a copy of
> > > > the tag included in the content:
>
> > > > <textarea class="text" cols="40" id="worksheets_heatdist_defects"
> > > > name="heatdist_defects" rows="1" type="text"><textarea class="text"
> > > > cols="40" id="worksheets_heatdist_defects" name="heatdist_defects"
> > > > rows="1" type="text">xyz</textarea></textarea>
>
> > > > I have a similar problem w/ a widget that yields a SELECT producing
> > > > one SELECT inside another (which the browser can handle).
>
> > > > I'd used the ta_widget in earlier versions of web2py (01/09?).
>
> > > > Thanks for the help,
> > > > Scott
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py Web Framework" 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
-~----------~----~----~----~------~----~------~--~---

Reply via email to