Description
Dans cet exemple, les champs de saisie sont ignorés si la case correspondante n'est pas cochée ; si elle l'est, ils deviennent obligatoires.
À noter : le champ "code postal" est contrôlé, il doit être composé de 2 ou 5 chiffres.
Cet exemple illustre également la notion de paragraphe qui permet de maitriser la position les champs de saisie par rapport à leur étiquette (en appliquant un style css baptisé "cssformX").
Chaque paragraphe est précédé d'une bordure sauf si le style "cssSansBordure" lui est appliqué.
12/08/2010
'phpJSvForm' est protégé par un copyright ©2010-2011 - Pierre POISSON (synanceia) et par la licence GNU GPL v3.
Code PHP
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test Formulaire - Champs autorisés/obligatoires si condition</title>
<script type="text/javascript" src="init.js"></script>
<script type="text/javascript" src="jsVerifForm.js"></script>
<link rel="stylesheet" type="text/css" href="cssVerifForm.css" />
</head>
<body>
<?php
require_once('../krumo/class.krumo.php');
require_once('clVerifForm.php');
$form1 = new Form();
$p1 = new Paragraphe('','Un formulaire avec des champs autorisés si ...', 'cssform3') ;
$p2 = new Paragraphe('','','cssSansBordure') ;
$p3 = new Paragraphe('','','cssform3') ;
$chk1 = new Input('chk_adr','Je communique mon adresse postale','','checkbox') ;
$text1 = new Input('adr','Adresse : ','');
$text2 = new Input('cp','Code postal : ','');
$text3 = new Input('ville','Ville : ','');
$chk2 = new Input('chk_tel','Je communique mon numéro de téléphone','','checkbox') ;
$tel = new Input('tel','Téléphone','','','','cssform2');
$p1->addElement($chk1) ;
$p2->addElement($text1, $text2 ,$text3);
$form1->addElement($p1, $p2, $p3->addElement($chk2, $tel)) ;
$form1->addVerif('exist_A',$chk1,$text1, $text2 ,$text3) ;
$form1->addVerif('exist_B',$chk2,$tel) ;
$form1->addVerif('tel',$tel,'codePostal',$text2) ;
if($form1->verifForm())
{
echo '<p>Traitement possible...
<br/>Tout est ok...</p>
<p> Développez l\'arborescence ci-dessous pour visualiser le contenu de $<span></span>_POST</p>' ;
krumo($_POST) ;
}
else
echo $form1;
?>
</body>
</html>