Aller au contenu principal.

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>

Le formulaire avec JavaScript

Le formulaire sans JavaScript

Copyright © 2010-2011, Pierre POISSON (synanceia)
Avec l'aimable autorisation de Open Web Design & Swackie - Advantage Through Innovation
Le blog Sit'GEII | Des liens ...