[Zope] dynamic radio buttons

David Hassalevris bluepaul at earthlink.net
Sat Oct 2 15:54:55 EDT 2004


----- Original Message ----- 
From: "garry saddington" <garry at joydiv.fsnet.co.uk>
To: <zope at zope.org>
Sent: Saturday, October 02, 2004 12:52 PM
Subject: Re: [Zope] dynamic radio buttons


> On Saturday 02 October 2004 20:24, David Hassalevris wrote:
> > ----- Original Message -----
> > From: "garry saddington" <garry at joydiv.fsnet.co.uk>
> > To: <zope at zope.org>
> > Sent: Saturday, October 02, 2004 11:56 AM
> > Subject: Re: [Zope] dynamic radio buttons
> >
> > > > I am not quite sure what you are looking for, but you want to have a
> > > > different radio button 'name' for each iteration thru the dtml-in
loop
> >
> > you
> >
> > > > could use the 'sequence-index' or 'sequence-number' loop variables.
> > > >
> > > > eg.
> > > >
> > > > <input type =radio name=<dtml-var sequence-index>:records
> >
> > value="A">B&nbsp;
> >
> > > > <input type =radio name=<dtml-var sequence-index>:records
> >
> > value="B">B&nbsp;
> >
> > > > <input type =radio name=<dtml-var sequence-index>:records
> >
> > value="C">B&nbsp;
> >
> > > > <input type =radio name=<dtml-var sequence-index>:records
> >
> > value="D">B&nbsp;
> >
> > > > <input type =radio name=<dtml-var sequence-index>:records
> >
> > value="E">B&nbsp;
> >
> > > > <input type =radio name=<dtml-var sequence-index>:records
> >
> > value="F">B&nbsp;
> >
> > > > This will give you a set of radio buttons (labelled 0-n, where n is
the
> > > > number of dtml-in loop iterations - 1) that have the same name for
any
> > > > given loop iteration, but will change from one loop iteration to the
> >
> > next.
> >
> > > > (sequence-number counts from 1 instead of from 0).
> > > >
> > > > HTH
> > > >
> > > > Jonathan
> > >
> > > Thanks, this is getting nearer but how could i then iterate over
> > > <dtml-var sequence-index> in the ZSQL method that writes to the
database?
> > > regards
> > > garry
> > > ___________
> >
> > Garry,
> >
> > You should call an intermediary script that will call zSQL.  Just repeat
> > <dtml-in getclassmembers> there as well   and match sequence-numbers  ,
eg
> >    mark = REQUEST.get('mark' + str(sequence-number))
> >   termark =   REQUEST.get('termark' + str(sequence-number))
> >
> > Now you can call zsql like  zUpdate(studentID, mark,termark) ;
> > Sorry for the ugly pseudo code.
> >
> > David
> This looks good, thanks.
> regards
> garry

Garry,
It occurs to me that this might become disasterous if someone adds a new
record in the time between form input and zsql calls using sequence numbers
(that would throw your "alignment" off).

I would replace sequence generated names, eg 'mark' + str(sequence_number)
wth mark + '-' + str(StudentID)
Then  with <dtml-in getClassMembers>
would could test the REQUEST for 'mark-' + str(StudentID).
If its not in the REQUEST its because a new record was added into
ClassMembers.
David

> _______________________________________________
> Zope maillist  -  Zope at zope.org
> http://mail.zope.org/mailman/listinfo/zope
> **   No cross posts or HTML encoding!  **
> (Related lists -
>  http://mail.zope.org/mailman/listinfo/zope-announce
>  http://mail.zope.org/mailman/listinfo/zope-dev )



More information about the Zope mailing list