Login   Register  
PHP Classes
elePHPant
Icontem

File: SForm_usage.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Seth Price  >  SForm  >  SForm_usage.php  >  Download  
File: SForm_usage.php
Role: Example script
Content type: text/plain
Description: A complete example
Class: SForm
Generate and validate Web forms
Author: By
Last change:
Date: 2006-10-25 11:10
Size: 3,309 bytes
 

Contents

Class file image Download
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Testing Seth's Form</title>
</head>
<body>
<?php

/**
 * Require SForm
 */
require_once 'SForm.php';

//Create a new form
$form = new SForm('subNew');

/*
 * Add the data type selection
 */
//Create a new element directly
$dataTypeElm = new SForm_Elm_Select('dataType''Data Type');

//Add an option and mark it as invalid, but selected by default
$dataTypeElm->addOption('Select a Data Type', -1, array('selected'=>'selected'));
$dataTypeElm->invalidOption(-1);

//Add regular options
$dataTypeElm->addOption('Map'1);
$dataTypeElm->addOption('Observation'2);

//Add a disabled option
$dataTypeElm->addOption('Study'3, array('disabled'=>'disabled'));

//Add the element to the data set in a fieldset
$form->addElement($dataTypeElm);

/*
 * Location selection
 */
//Create a new element via a factory method
$areaElm $form->addElement('select''area''Area');

//Add an option and mark it as invalid
$areaElm->addOption('Select an Area', -1, array('selected'=>'selected'));
$areaElm->invalidOption(-1);

//Create options and group them
$areaElm->addOption('Canada'1);
$areaElm->addOption('United States'2);
$areaElm->addOption('Mexico'3);

$areaElm->addOptGroup('North America', array(1,2,3));

$areaElm->addOption('Brazil'4);
$areaElm->addOption('Colombia'5);
$areaElm->addOption('Peru'6);
$areaElm->addOption('Argentina'7);

$areaElm->addOptGroup('South America', array(4,5,6,7));

//These aren't in a group
$areaElm->addOption('Germany'8);

$areaElm->addOption('New Area (see below)', -2);

/*
 * Category selection
 */
//Create a fieldset for the checkboxes
$fs $form->addElement('fieldset'null'Category');

//Add the checkboxes to the fieldset
$fs->addElement('checkbox''forest''Forests');
$fs->addElement('checkbox''ag''Agriculture');
$fs->addElement('checkbox''water''Water');

//Set these to checked by default
$fs->addElement('checkbox''climate''Climate')->setDefault(true);
$fs->addElement('checkbox''health''Health', array('checked'=>'checked'));

/*
 * Language selection
 */
$langElm = new SForm_Elm_Select('lang''Language');

$langElm->addOption('English''en');
$langElm->addOption('Spanish''sp');
$langElm->addOption('Portuguese''pr');
$langElm->addOption('German''gr');

$form->addElement($langElm);

/*
 * New location creation fieldset
 */
//Create a fieldset
$fs = new SForm_Fieldset(null'New Area');

//Add some various input boxes
$fs->addElement($newNameElm = new SForm_Elm_Text('new_name''Name'));
$fs->addElement(new SForm_Elm_Text('new_top''Top'));
$fs->addElement(new SForm_Elm_Text('new_right''Right'));
$fs->addElement(new SForm_Elm_Text('new_bottom''Bottom'));
$fs->addElement(new SForm_Elm_Text('new_left''Left'));

//Create a custom boolean rule
require_once 'SForm/Rule/Boolean.php';
$newNameElm->addRule(new SForm_Rule_Boolean(
            
'If you are creating a new area, you must fill in its name.',
            array(
$newNameElm$areaElm),
            
'%s == "" && %s == -2'));

$form->addElement($fs);

/*
 * Submission button
 */
$form->addElement('submit''sub_new''Begin Submission');

if(
$form->validate()){
    
$form->freeze();
}

$form->display();
?>
</body>
</html>