I am just a beginner with CSS/HTML,  and so maybe I have a misconceived idea
of what CSS can/should do and the right way to use it.

Naively, I thought that I could use the #id=table-field entries in CSS to
control placement/shape of the form elements, and not need to change much
more in the controller or the view?

It seems that if I have to use custom forms, then I might as well not even
bother with using SQLFORM --  it's pretty much like building the form piece
by piece in the view?

thanks,
Luis.

On Fri, Jul 22, 2011 at 11:42 PM, Anthony <abasta...@gmail.com> wrote:

> What's wrong with this method -
> http://web2py.com/book/default/chapter/07#Custom-forms - you can put the
> form widgets wherever you want? Or specifically, how would
> "better/smarter/proper use of the #id table-field entries" help? What would
> you like to see in the rendered form HTML that would enable you to do what
> you want with just CSS?
>
> Anthony
>
> On Saturday, July 23, 2011 2:33:54 AM UTC-4, Luis Goncalves wrote:
>
>> Yes ... too many  :(
>>
>> Here's a 'simple' one:
>>
>>  The database table definition, which I use as a form for input:
>>
>>
>>
>>    db.define_table('scorecard',
>>       Field('offense1', db.player, requires=IS_IN_DB( db, 'player.id',
>> '%(name)s', zero=T('choose one')) ),
>>       Field('defense1', db.player, requires=IS_IN_DB( db, 'player.id',
>> '%(name)s', zero=T('choose one')) ),
>>
>>
>>
>>        Field('offense2', db.player, requires=IS_IN_DB( db, 'player.id',
>> '%(name)s', zero=T('choose one')) ),
>>       Field('defense2', db.player, requires=IS_IN_DB( db, 'player.id',
>> '%(name)s', zero=T('choose one')) ),
>>
>>
>>
>>        Field('fifth', db.player, requires=IS_IN_DB( db, 'player.id',
>> '%(name)s', zero=T('choose one')) ),
>>
>>
>>
>>        Field('score1', 'integer', requires=IS_IN_SET([1, 2, 3, 4,
>> 5],zero=None)),
>>       Field('score2', 'integer', requires=IS_IN_SET([1, 2, 3, 4,
>> 5],zero=None)),
>>
>>
>>
>>        Field('start', 'datetime', readable=False, writable=False),
>>       Field('finish', 'datetime', readable=False, writable=False),
>>       Field('single', 'boolean', readable=False, writable=False)) # single
>> game during round-robin rotate play, or part of a game-set-match
>>
>>   I would like this to display something like:
>>
>>
>>
>> <https://lh3.googleusercontent.com/-043w1FYNTj8/Tipod6h9_zI/AAAAAAAAHFk/0eX4V6S0Uf0/scorecard.png>
>>
>> The input is a scorecard for a game.  Two teams with two players each,
>>  and a fifth person that will  play the next game.
>>
>>  The user defines who is playing the current game, and who is sitting
>> out.  When the game is over, they select the scores.
>>
>>  On 'submit', the teams and scores are recorded, and the form is shown
>> again, with a suggested line-up for the next game
>>
>>  (but the user can alter the line-up if he wants).
>>
>>
>>
>>
>>
>>
>>  In the controller:
>>
>>
>>  def rotate_5_man():
>>
>>
>>  form = SQLFORM( db.scorecard )
>>
>>  # retrieve previous player positions.
>>
>>  # pre-fill form with some suggestions
>>
>>
>>
>>
>>
>>  if form.accepts( .. )
>>
>>
>>   # record score,
>>
>>   # figure out how to rotate players for next game
>>
>>
>>  return dict(form=form)
>>
>>
>>  In the view,  rotate_5_man.html :
>>
>>
>>  {{extend 'layout.html'}}
>>
>>  {{=form}}
>>
>>
>>
>> So right now, the display of the form is quite rudimentary
>> (each item gets shown in order, listed vertically).
>>
>> Is there a simple way to get the above layout instead?
>>
>> Preferably done with minimal additional python/web2py/html,
>> but via CSS instead!
>>
>>
>>
>> Thanks!!!
>> Luis.
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>

Reply via email to