HTMLgen provides full form support using the POST method. It
      provides an Input class supporting all input types including
      script callbacks. The Input class also has two convenience
      attributes, llabel and rlabel, which
      place plain text to the left and right of the widget
      respectively. 
        
For persistant data between forms, see the StickyForm module donated by Amos Latteier.
Below is a Form containing all the input types.