...which is to say, from the perspective of the presentation (view) layer -
these fields are static...
So, sequentially, it's something like this:

controller:

....
   form = ....   # set up the interface for the presentation,
                    # including getting persisted values from db

view:

....
   {{=form}    # set up the presentation - apply all that style, skin, ajax,
etc. stuff...

>> client side interaction, including any jQuery and Ajax actions >>

back to controller:

....
   form.accepts(....    # get "called" on the interface - that is, accept
submitted form;

and so on (including saving to db - controller work - as needed)

Making more sense like this?



On Fri, Nov 14, 2008 at 8:23 PM, mdipierro <[EMAIL PROTECTED]> wrote:

>
> let me just add that hidden fields are added to the form when it is
> serialized
>
> {{=form}}
>
> not before. This is why you cannot access the error DIV
> programmatically.
>
> But you can form.error.clear() before {{=form}} in order to remove
> them and take an alternate action.
>
> Massimo
>
>
> On Nov 14, 7:42 pm, "Yarko Tymciurak" <[EMAIL PROTECTED]> wrote:
> > Wes -
> > Forgive the long answer here - feel free to skip it if you like.
> >
> > I like to just think about what's happening, and how this works, and sort
> of
> > where and in what order:
> >
> > Let's work backwards:
> >
> > The code to generate a page from the template happens last.
> > That means everything else has run, and all the variables are now set...
> > From the perspective of the rendered page, all that underlying web2py
> code
> > (and therefore
> > variables) is "static" at this instance.
> >
> > The exception is the Ajax & jQuery code - but that runs out on the
> browser;
> > to keep things simple, think of it as not interacting w/ the server, at
> > least not in the context of "this" page (anything that does get sent back
> > will trigger a new rendering).
> >
> > Ok - so what do you have?
> >
> > You have component strings, called "flash", that carry a message.  By
> > convention, they are specially treated in code (including rendering
> code).
> >
> > Now - if this "static" data (remember, I'm talking slow-motion: the time
> > slice of a single rendered page) -  .flash - exists, the default
> layout.html
> > code does something with it.  (I am  looking at
> > applications/admin/views/layout.html).
> > One thing layout does is, when it decides to render the .flash variable,
> > wrap it in a DIV class (you guessed it - "flash"), which puts it under
> the
> > influence of styles.css, line 80 (I think), which web2py_ajax.html lines
> > 26,27 have something to say about.   That's where we get slide-down and
> > colors.
> >
> > The template ( layout.html) is where we get the display logic to check
> the
> > controller variable.
> >
> > To display a variable (.flash  for example)  the template checks if
> there's
> > a condition (is it set in the case of flash), and wraps it in that
> "flash"
> > DIV - which client side code acts on (.css and ajax).
> >
> > If your view is setting variables only used on client side, you're
> good....
> >
> > That's basically how I think of it.
> >
> > Now, all you need to do is think presentation:   what condition from the
> > client (controller / model) do I want to check, and what presentation
> (view)
> > response will I build from it?
> >
> > Hope that was helpful.
> >
> > Kind regards,
> > Yarko
> >
> > On Fri, Nov 14, 2008 at 5:56 PM, Wes James <[EMAIL PROTECTED]> wrote:
> >
> > > Ok i've worked with
> >
> > > <tr><td>
> > > <label>{{=db.student.code.label}}</label><br>
> > > <input name="code" value="{{=form.latest.code}}" size=31 maxlength=30
> />
> > > {{if form.errors.code:}}{{=form.errors.code}}{{pass}}
> > > </td></tr>
> >
> > > and that provides an error on code if someone tries to put a duplicate
> > > code (needs to be unique).
> >
> > > If I just use {{include}} to build all the fields in a table and it is
> > > an error there is a red "flash" error on the code field.
> >
> > > How do I duplicate the flash on an error, as with the {{if
> > > form.errors.code:....}} is not obvious enough when an error happens.
> >
> > > I tried:
> >
> > > {{=form[0][4]}}
> >
> > > to get the whole component in and see if that works, but it does
> > > provide any error feedback.
> >
> > > How is the red flash error done?
> >
> > > thx,
> >
> > > -wj
> >
>

--~--~---------~--~----~------------~-------~--~----~
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