Description
Dans cet exemple, les champs de saisie sont désactivés si la case correspondante est cochée ; si elle ne l'est pas, ils deviennent accessibles.
Le champ "téléphone" bien qu'obligatoire, peut ne pas être complété si la case située au-dessus est cochée.
Il est important de noter que l'appel à la méthode "addVerif" avec 'exist' est placé après l'appel avec 'desact_B'.
À noter : les champs "téléphone" et "code postal" sont contrôlés.
28/07/2011
'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 désactivés (inhibés) 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 désactivés si ...', 'cssform3') ;
$p2 = new Paragraphe('','','cssSansBordure') ;
$p3 = new Paragraphe('','','cssform3') ;
$chk1 = new Input('chk_adr','Je refuse de communiquer 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 refuse de donner 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('desact_A',$chk1,$text1, $text2 ,$text3) ;
$form1->addVerif('desact_B',$chk2,$tel) ;
$form1->addVerif('tel',$tel,'codePostal',$text2) ;
$form1->addVerif('exist',$tel) ;
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>