[%#- Autocompletion This template enables auto completion for input fields. Calling Syntax is: INCLUDE 'generic/autocomplete', [ { SPEC_1 }, { SPEC_2 }, ... ] where SPEC is a hash containing the following keys: script : the script that is called for autocompletion, defaults to the invoking script action : action in the ajax script, defaults to 'ajax_autocomplete' selector : a jquery selector, specifying the input fields column : specifies the column that is represented by the bound field. typically description or name. params : additional params that should be included in the request, like customer/vendor information. expects a hash. TODO FIELDS: - addition fields like type, vc etc. - additional dependencies, see jquery.autocomplete documentation - hook function on select, again see jquery documentation - limit: maximum number of results shown. a simple SPEC would look like this: { selector => '#description', column => 'description' } # field with id="description" should be autocompleted with descriptions { script => 'ic.pl', selector => '[name^="partnumber_"]', column => 'partnumber' } # let ic.pl autocomplete by partnumbers, bind this to all fields where the name begins with "partnumber_" The Backend Side The called function will recieve the queried string as hashkey "q" in form, as well as every other param specified here. It should generate a generic ajax header (see form), followed by newline separated list of possible completion values. %]