trusty (3) Webapp.autoFill.3kaya.gz

Provided by: kaya_0.4.4-6ubuntu3_amd64 bug

NAME

       Webapp::autoFill - Automatically fill a HTML form

SYNOPSIS

       Void autoFill( ElementTree form, DataSource mainvars, Dict<String, [String]>  extravars=Dict::new() )

ARGUMENTS

       form The form element (or a subset of that if you only wish to automatically fill a part of the form.

       mainvars The data source to use (e.g.  DataPost )

       extravars  An  optional  dictionary  mapping keys to lists of values, to allow a form to be automatically
       filled from a database. You may or may not need to use DataNone as your main data source in this case.

DESCRIPTION

       Automatically fill a HTML form based on data from a  particular  data  source.  This  makes  it  easy  to
       construct     web     forms     with     error     handling     -     see     the     webapp     tutorial
       ⟨http://kayalang.org/tutorial/web/webapp⟩ for more information.

    ElementTree OnHello(Int dummy) {
        div = anonymousBlock; // we create this temporarily.
        fname = incomingValue("fname",DataPost);
        lname = incomingValue("lname",DataPost);
        if (fname != "" && lname != "") {
            p = addParagraph(div,"Hello "+fname+" "+lname);
            return p;
        } else {
            form = HelloForm();
    // if they entered one of first and last name, make sure it's still in the form
            autoFill(form,DataPost);
            return form;
        }
    }

    ElementTree helloForm() {
        parent = anonymousBlock;
        form = addLocalForm(parent);
        f1 = addFieldset(form,"Who are you?");
        input = addLabelledInput(f1,"Your First Name",InputText,"fname","",0);
        input = addLabelledInput(f1,"Your Last Name",InputText,"lname","",0);
        submit = addLocalControlInput(f1,"Say hello",OnHello,1);
        return form;
    }

AUTHORS

       Kaya standard  library  by  Edwin  Brady,  Chris  Morris  and  others  (kaya@kayalang.org).  For  further
       information see http://kayalang.org/

LICENSE

       The  Kaya  standard library is free software; you can redistribute it and/or modify it under the terms of
       the GNU Lesser General Public License (version 2.1 or  any  later  version)  as  published  by  the  Free
       Software Foundation.

       WebCommon.DataSource (3kaya)