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.

RELATED

       WebCommon.DataSource (3kaya)