Drupal wforms.module README.txt ============================================================================== Created by CivicSpace Labs as part of a project for GoodStorm, this module provides methods for client-side interactive forms using the wForms library by Cédric Savarese (http://www.4213miles.com). See wForms documentation at http://www.formassembly.com/wForms/ Requirements ------------------------------------------------------------------------------ This module is written for Drupal 4.7. Installation ------------------------------------------------------------------------------ Create a directory modules/wforms (or, for easy updating, modules/jstools/wforms) and copy all the module's files into it. The wForms library must be downloaded separately from http://www.formassembly.com/wForms/ See the download link for the wForms v2.0 "packed version". Copy the following three files from the download to your /wforms module directory: wforms.css wforms.js wforms-jsonly.css Enable the module via the administer > modules page. Developer usage ------------------------------------------------------------------------------ Multi-page forms ---------------------- Each page of the form is an element of type 'wformspage'. This element type is basically a wrapper that encloses form sections in a div with the appropriate class names to trigger the wForms multi- page behavior. Construct a multi-page form as follows: // First page $form['page1'] = array( '#type' => 'wformspage', '#title' => t('Page 1') ); $form['page1']['title'] = array( '#type' => 'textfield', '#title' => t('Title'), '#description' => t('Give a title to your item'), '#required' => TRUE, '#size' => 30 ); // Second page $form['page2'] = array( '#type' => 'wformspage', '#title' => t('Page 2') ); $form['page2']['body'] = array( '#type' => 'textarea', '#title' => t('Description'), '#description' => t('Describe your item'), '#rows' => 3, '#cols' => 30, '#required' => TRUE ); Validation ---------------------- Validation for required fields works out of the box, as wForms recognizes Drupal 'required' class names. For other types of validation, add classes that trigger validation behaviors--see the list of supported selectors at: http://www.formassembly.com/blog/input-validation-explained/ Example: $form['page1']['email'] = array( '#type' => 'textfield', '#title' => t('Email'), '#size' => 30, '#attributes' => array('class' => 'validate-email') ); Further functionality ---------------------- Other behaviors can be added through adding classes and enclosing divs to form elements (e.g., using form elements' '#prefix' and '#suffix' selectors). See the wForms documentation, http://www.formassembly.com/wForms/