I am not not convinced we need both comment and help. I think one can 
simply strore the commend in help (without being a dict) and use jQuery to 
turn the visualization of the comment (help) into a popup.

On Thursday, 13 December 2012 00:07:40 UTC-6, Anthony wrote:
>
> One option is to build it into the comment. The comment can be any 
> arbitrary HTML (which you can build with helpers), so the comment could 
> include the [?] icon with appropriate hover text, followed by the actual 
> comment. Another option is to create a custom 
> widget<http://web2py.com/books/default/chapter/29/07#Widgets> and 
> pass the help text as an argument to the widget function when specifying 
> the widget attribute of the field.
>
> If you create a custom formstyle function, as you suggest, one way to pass 
> the extra help content is by turning the "comment" attribute into a dict, 
> with a "help" key and a "comment" key:
>
> Field('myfield', comment=dict(comment='Fill in this field', help='More 
> detailed help...'))
>
> The formstyle function could then pull the comment and help content from 
> that dict to construct the field in the form.
>
> You can also do db.mytable.myfield.help = 'More detailed help...'.
>
> Anthony
>
> On Wednesday, December 12, 2012 11:43:29 PM UTC-5, Joe Barnhart wrote:
>>
>> I am working on a very form-heavy website that uses not only labels, 
>> controls, and comments, it needs extended mouseover help as well.  The 
>> users comprises people who use the site infrequently, so I need to provide 
>> as much explanation for each field as I possibly can.  The nice thing about 
>> the mouseover help is that I can create a small [?] icon somewhere on each 
>> field line which pops up paragraphs of help text if needed.  The question 
>> is -- where to store it?
>>
>> Looking at Field, it seems like the ideal case would be to add an 
>> instance var "help" which could be initialized to "None".  When needed, it 
>> could store some kind of "rich" string (which can have some simple 
>> formatting like bold face or italics for emphasis).  While setting it in 
>> the Field is convenient, looking further at how the SQLFORM is generated 
>> from the Fields shows a real problem...
>>
>> The SQLFORM creates a list of 4-tuples which are passed to the 
>> "formstyle" factory that makes the HTML version of the form.  There's no 
>> way I can add a 5th element to the tuple without breaking web2py.  If we 
>> someday re-architect the web2py SQLFORM class, we might consider passing in 
>> a list of the Field objects directly to the formstyle factory so we never 
>> face this limit again.  But for now I don't see any way to overcome this.
>>
>> All I can come up with is to generate the HTML tree for the form (in 
>> Python) and then use the access methods to manipulate it to add the help 
>> elements I want.  It will be kind of messy and complicated but I can 
>> probably get it working.  Or maybe I should do my own "formstyle" function 
>> and figure out a way to pass it a list of "help" text fields for the 
>> additional info. 
>>
>> If anyone else has done something similar I'd love to hear about it.
>>
>> Joe B.
>>
>>

-- 



Reply via email to