string HTML_QuickForm_advmultiselect::getElementCss (
boolean
$raw
= TRUE
)
Si votre navigateur ne supporte pas javascript, ou si pour une raison quelconque vous avez choisi de le désactiver, alors la seule solution est d'utiliser la forme liste unique avec cases à cocher.
Vous pouvez obtenir un rendu plus ou moins acceptable avec les seules valeurs par défaut, mais avec le niveau de configuration élévé, vous pouvez obtenir presque tout ce que vous voulez.
La présentation par défaut est appliquée avec le marquage {stylesheet} dans le gabarit de votre élément. Elle peut être aussi appliquée avec la méthode getElementCss(). Si vous n'avez pas de balise style existante dans votre page html, vous devriez appeler la méthode avec FALSE comme argument. Le comportement par défaut renvoie seulement les données CSS bruts sans balises style. Utile lorsque vous utiliser un moteur de gabarit.
(optionnel) sortie html avec les balises style ou juste les données bruts
Lance aucune exception
Depuis la version 0.4.0 (2005-06-25)
This function can not be called statically.
<?php
require_once 'HTML/QuickForm.php';
require_once 'HTML/QuickForm/advmultiselect.php';
$form = new HTML_QuickForm('ams');
$form->removeAttribute('name'); // XHTML compliance
$fruit_array = array(
'apple' => 'Apple',
'orange' => 'Orange',
'pear' => 'Pear',
'banana' => 'Banana',
'cherry' => 'Cherry',
'kiwi' => 'Kiwi',
'lemon' => 'Lemon',
'lime' => 'Lime',
'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);
$ams->setLabel(array('Fruit:', 'Available', 'Selected'));
// template for a single checkboxes multi-select element shape
$template = '
<table{class}>
<!-- BEGIN label_3 --><tr><th>{label_3}</th></tr><!-- END label_3 -->
<tr>
<td>{selected}</td>
</tr>
</table>
';
$ams->setElementTemplate($template);
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');
$form->addGroup($buttons);
?>
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>HTML_QuickForm::advMultiSelect custom example 4b</title>
<style type="text/css">
<!--
body {
background-color: #FFF;
font-family: Verdana, Arial, helvetica;
font-size: 10pt;
}
<?php echo $ams->getElementCss(); ?>
// -->
</style>
</head>
<body>
<?php
if ($form->validate()) {
$clean = $form->getSubmitValues();
echo '<pre>';
print_r($clean);
echo '</pre>';
}
$form->display();
?>
</body>
</html>