Source for file qfams_custom_6.php
Documentation is available at qfams_custom_6.php
* Custom advMultiSelect HTML_QuickForm element
* with extended buttons (select all, select none, toggle selection)
* @version $Id: qfams_custom_6.php,v 1.3 2008/04/26 13:25:44 farell Exp $
* @author Laurent Laville <pear@laurent-laville.org>
* @package HTML_QuickForm_advmultiselect
* @example examples/qfams_custom_6.php
* qfams_custom_6 source code
* @link http://www.laurent-laville.org/img/qfams/screenshot/custom6.png
* screenshot (Image PNG, 640x525 pixels) 16 Kb
require_once 'HTML/QuickForm.php';
require_once 'HTML/QuickForm/advmultiselect.php';
$form = new HTML_QuickForm ('amsCustom6');
$form->removeAttribute ('name'); // XHTML compliance
'tangerine' => 'Tangerine',
// rendering with QF renderer engine and template system
$form->addElement ('header', null , 'Advanced Multiple Select: custom layout ');
$ams = & $form->addElement ('advmultiselect', 'fruit', null , $fruit_array,
array ('class' => 'pool', 'style' => 'width:200px;')
$ams->setLabel (array ('Fruit:', 'Available', 'Selected'));
$ams->setButtonAttributes ('add' , 'class=inputCommand');
$ams->setButtonAttributes ('remove' , 'class=inputCommand');
$ams->setButtonAttributes ('all' , 'class=inputCommand');
$ams->setButtonAttributes ('none' , 'class=inputCommand');
$ams->setButtonAttributes ('toggle' , 'class=inputCommand');
$ams->setButtonAttributes ('moveup' , 'class=inputCommand');
$ams->setButtonAttributes ('movedown', 'class=inputCommand');
// template for a single checkboxes multi-select element shape
<!-- BEGIN label_3 --><tr><th>{label_3}</th><th> </th></tr><!-- END label_3 -->
<td>{all}<br />{none}<br />{toggle}</td>
// template for a dual multi-select element shape
<!-- BEGIN label_2 --><tr><th>{label_2}</th><!-- END label_2 -->
<!-- BEGIN label_3 --><th> </th><th>{label_3}</th></tr><!-- END label_3 -->
{add}<br />{remove}<br /><br />{all}<br />{none}<br />{toggle}<br /><br />{moveup}<br />{movedown}<br />
if (isset ($_POST['multiselect'])) {
$ams->setElementTemplate ($template2);
$ams->setElementTemplate ($template1);
if ($_SERVER['REQUEST_METHOD'] == 'GET') {
// fruit default values already selected without any end-user actions
$form->setDefaults (array ('fruit' => array ('kiwi','lime')));
} elseif (isset ($_POST['fruit'])) {
// fruit end-user selection
$form->setDefaults (array ('fruit' => $_POST['fruit']));
$buttons[] = & $form->createElement ('submit', null , 'Submit');
$buttons[] = & $form->createElement ('reset', null , 'Reset');
$buttons[] = & $form->createElement ('checkbox', 'multiselect', null ,
'use dual select boxes layout');
$form->addGroup ($buttons, null , ' ');
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3c.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>HTML_QuickForm::advMultiSelect custom example 6</title>
font-family: Verdana, Arial, helvetica;
background-color: orange;
if (!isset ($_POST['multiselect'])) {
echo $ams->getElementCss ();
<?php echo $ams->getElementJs (false ); ?>
$clean = $form->getSubmitValues ();
Documentation generated on Sat, 26 Apr 2008 14:30:11 -0400 by phpDocumentor 1.4.0. PEAR Logo Copyright © PHP Group 2004.
|