radio checkbox list multilist password select button option optgroup ...
fieldset et legend pour regrouper plusieurs champs ensembles
HTML5 = datalist keygen output
<?php // je défini mon formulaire avec des attributs 'en vrac' $cond = array( // un input TEXT classique 'nom' => array('type'=>'text', 'name'=>'nom', 'size'=>18, 'maxlength'=>20, 'value'=>'Visiteur', 'label'=>array('txt'=>'Nom : ')), // un input de type PASSWORD 'pwd' => array('type'=>'password', 'name'=>'pwd', 'label'=>array('txt'=>'Mot de Passe : ')), // une liste : SELECT --> option 'voiture' => array('type'=>'select', 'name'=>'voiture', 'value'=>5, 'label'=>array('txt'=>'Voiture : '), 'list' => array(1 => 'Renault', 2=> 'Citroen', 3 => 'Volswagen', 4 => 'Volvo', 5 => 'Fiat', 6 => 'Chevrolet', 7 => 'Toyota')), // un SELECT avec des regroupements : optgroup 'pays' => array('type'=>'select', 'name'=>'pays', 'value'=>'FR', 'label'=>array('txt'=>'Pays : '), 'list' => array( 'Europe' => array('FR' => 'France', 'UK' => 'Royaume-Uni', 'ES' => 'Espagne'), 'Amérique' => array('US' => 'Etats Unis', 'MX' => 'Mexique', 'CA' => 'Canada')) ), // des boutons RADIO 'sexe' => array('type'=>'radio', 'name'=>'sexe', 'list'=>array('M'=>'Masculin', 'F'=>'Féminin')), // une série de 4 boutons CHECKBOX 'chkVelo' => array('type'=>'checkbox', 'name'=>'vehicule[]', 'label'=>array('txt'=>'J\'ai un vélo : ')), 'chkMoto' => array('type'=>'checkbox', 'name'=>'vehicule[]', 'label'=>array('txt'=>'J\'ai une moto : ')), 'chkVoiture' => array('type'=>'checkbox', 'name'=>'vehicule[]', 'label'=>array('txt'=>'J\'ai une voiture : ')), 'chkCamion' => array('type'=>'checkbox', 'name'=>'vehicule[]', 'label'=>array('txt'=>'J\'ai un camion : ')), // une zone de texte libre : TEXTAREA 'texto' => array('type'=>'textarea', 'name'=>'texto', 'cols'=>60, 'rows'=>4, 'wrap'=>'virtual', 'value'=>''), // un bouton simple : déclenche une action javascript sur le ''onclick'' 'button' => array('type' => 'button', 'value' => 'Click Me !', 'onclick' => 'alert(\'Hello World\')'), // un bouton SUBMIT pour soumission du formulaire 'submit' => array('type'=>'submit', 'name'=>'Submit', 'value'=>'Envoyer', 'label'=>array('txt'=>'Nom et message obligatoires.')), // annuler toutes les valeurs du formulaire : RESET 'reset' => array('type'=>'reset', 'name'=>'Annuler', 'value'=>'Annuler le formulaire'), // FIELDSET : regroupe plusieurs champs dans un encadré avec légende, préfixe et suffixe pour chaque champs inclu 'chkVehicule' => array('type' => 'fieldset', 'legend' => array('txt' => 'Choisir un ou plusieurs Véhicule(s)'), 'fields' => array('chkVelo', 'chkCamion', 'chkMoto', 'chkVoiture'), 'prefix' => '
il manque un nom ou un message
'; // on re-injecte les valeurs pour pas avoir à les re-saisir $myForm->setValues($myForm->getValues()); } else { // insérer le msg en bdd avec $myForm->getValues // ou chaque élément $myForm->url $myForm->email etc var_dump($myForm->getValues()); } } else if($myForm->isPosted()) { echo '' . $myForm->getError() . '
'; } // afficher le formulaire 'en vrac' si le CSS suffit à la mise en forme: echo $myForm; ?>