Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
797 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  contrôle de check box dans un formulaire

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

contrôle de check box dans un formulaire

n°1797596
gri1ton
Posté le 09-10-2008 à 10:30:41  profilanswer
 

Bonjour,
j'ai créé un formulaire qui permet la récupération des valeurs des champs dans un mail. Ce formulaire contient à la fois du php, du html et du Javascript, pour le contrôle des formulaires. Seuls certains champs sont obligatoires. Les contrôles ont été créées à l'aide du validateur de formulaire de dreamweaver 8 et je souhaiterais y ajouter un contrôle sur les checks box, afin qu'au moins une des checks box soit obligatoirement coché mais je ne sais pas comment modifier le code.
Le code de mon formulaire est le suivant:
<?php
if (isset($_POST['envoie']))  
 {
 //Pour afficher le Nom en prot&eacute;geant la balise html
 $message = "Nom : ";
 $message .= htmlspecialchars($_POST['nom']);
 //Pour afficher le pr&eacute;nom en prot&eacute;geant la balise html
 $message .= "\nPrenom : ";
 $message .= htmlspecialchars($_POST['prenom']);
 //Pour afficher l'adresse en prot&eacute;geantla balise html
 $message .= "\nAdresse : ";
 $message .= htmlspecialchars($_POST['adresse']);
 //Pour afficher le T&eacute;l&eacute;phone
 $message .= "\nTelephone : ";
 $message .= $_POST['telephone'];
 //Pour afficher l'email
 $message .= "\nEmail : ";
 $message .= $_POST['email'];
 //Pour afficher l'objet de la demande
 $message .= "\nObjet : ";
 //$r = count ($obj);
   foreach ($_REQUEST['objet'] as $obj)
 $message .= '  '. $obj;
 //Pour afficher le descriptif de la demande en prot&eacute;geant la balise html
 $message .= "\nDescriptif : ";
 $message .= htmlspecialchars($_POST['descriptif']);
 //permet l'envoi du contenu du formulaire dans le corps d'un mail avec indication du sujet du message (email, objet, message)
 $ret = mail("monnom@mondomaine.fr", "Demande d'information", $message);
 if ($ret === true)
 
  echo "Votre demande a bien &eacute;t&eacute; prise en compte .  .  Nous reprendrons contact avec vous dans les prochains jours.<br><a href=contact.htm target=\_parent>Retour </a>";  
 
}
else
{
?>
        <strong><font color="#999999"></font></strong> <br />
        <br />
      </div>
      <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post" onsubmit="MM_validateForm('nom','','R','prenom','','R','email','','RisEmail','descriptif','','R');return document.MM_returnValue">
        <table width="450" border="0" cellpadding="0" cellspacing="0">
          <tr>
            <td height="20" colspan="2"><div align="center">
                <p align="center"><span class="Style6"><strong>Vous souhaitez nous contacter</strong></span><br />
                    <br />
                    <span class="Style3"><strong>
     <b>
<font size="4">
<SCRIPT language="JavaScript" title="G1SCRIPT">
//by Matt Hedgecoe (c) 2002
var text="Merci d'utiliser le formulaire ci-dessous" // YOUR TEXT
var speed=80 // SPEED OF FADE
// ********** LEAVE THE NEXT BIT ALONE!
if (document.all||document.getElementById){
document.write('<span id="highlight">' + text + '</span>')
var storetext=document.getElementById? document.getElementById("highlight" ) : document.all.highlight
}
else
document.write(text)
var hex=new Array("00","14","28","3C","50","64","78","8C","A0","B4","C8","DC","F0" )
var r=1
var g=1
var b=1
var seq=1
function changetext(){
rainbow="#"+hex[r]+hex[g]+hex[b]
storetext.style.color=rainbow
}
function change(){
if (seq==6){
b--
if (b==0)
seq=1
}
if (seq==5){
r++
if (r==12)
seq=6
}
if (seq==4){
g--
if (g==0)
seq=5
}
if (seq==3){
b++
if (b==12)
seq=4
}
if (seq==2){
r--
if (r==0)
seq=3
}
if (seq==1){
g++
if (g==12)
seq=2
}
changetext()
}
function starteffect(){
if (document.all||document.getElementById)
flash=setInterval("change()",speed)
}
starteffect()
</SCRIPT>
</font></b> </strong></span></p>
<br />
            </div></td>
          </tr>
          <tr>
            <td width="150" class="Style5"><h6 class="Style7">Nom </h6></td>
            <td width="300"><h6>
                <input name="nom" type="text" size="40" class="champ" />
                <span class="Style7"> (* )</span> </h6></td>
          </tr>
          <tr>
            <td class="Style5"><h6 class="Style7">Pr&eacute;nom </h6></td>
            <td><h6>
                <input name="prenom" type="text" size="40" class="champ" />
                <span class="Style7"> (* )</span> </h6></td>
          </tr>
          <tr>
            <td><h6 class="Style7">Adresse </h6></td>
            <td><textarea name="adresse" cols="40"></textarea>
            </td>
          </tr>
          <tr>
            <td><h6 class="Style7">T&eacute;l&eacute;phone </h6></td>
            <td &nbsp;><h6 class="Style7">
                <input name="telephone" type="text" size="15" class="champ"/>
            </h6></td>
          </tr>
          <tr>
            <td><h6 class="Style7">Mail </h6></td>
            <td><h6>
                <input name="email" type="text" size="40" class="champ"/>
                <span class="Style7">(* ) </span></h6></td>
          </tr>
          <tr>
            <td><h6 class="Style7">Objet de votre demande  (* )</h6></td>
            <td><h6 class="Style7">
                <input type="checkbox" name="objet[]" value="Ateliers hebdo enfants" class="champ"/>
              Ateliers hebdo enfants
              <input type="checkbox" name="objet[]" value="Ateliers hebdo adultes" class="champ"/>
              Ateliers hebdo adultes
              <p></p>
            </h6>
                <h6 class="Style7">
                  <input type="checkbox" name="objet[]" value="Stages" class="champ"/>
                  Stages
                  <input type="checkbox" name="objet[]" value="Interventions ext&eacute;rieures" class="champ"/>
                  Interventions ext&eacute;rieures
                  <input type="checkbox" name="objet[]" value="Autres" class="champ"/>
                  Autres </h6></td>
          </tr>
          <tr>
            <td><h6><span class="Style7">Descriptif de votre demande  (*) </span></h6></td>
            <td><textarea name="descriptif" cols="55" class="champ"></textarea>
            </td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td><input name="envoie" type="hidden" value="1" />
                <input type="submit" name="Submit" value="Envoyer" />
                <input name="button" type="button" onclick="window.print()" value="Imprimer cette page" />
                <input type="reset" name="R&eacute;initialiser" value="R&eacute;initialiser" />
            </td>
          </tr>
          <tr>
            <td colspan="2"><div align="center">
                <h6 class="Style7">(*) Champs obligatoires </h6>
              <p><a href="contact.htm" target="_parent" class="Style3">Retour</a></p>
            </div></td>
          </tr>
        </table>
      </form>
      <?php }?>
 
Les contrôles générés par le validateur de formulaire de dreamweaver se déclence lorsque l'on soumet le formulaire, une partie se trouve au niveau du form, l'autre dans le head.
Le code dans le head est le suivant:
<script type="text/JavaScript">
<!--
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?" ))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
 
function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="" ) {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' doit contenir une adresse email.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' doit contenir un nombre.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' doit contenir un nombre compris entre '+min+' et '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' est nécessaire.\n'; }
  } if (errors) alert('Afin de pouvoir vous répondre, Nous vous demandons de bien vouloir remplir tous les champs obligatoires. Merci\n'+errors);
  document.MM_returnValue = (errors == '');
}
//-->
</script>
Comment pourrais-je rajouter un contrôle au niveau des checks box.
Merci d'avance pour tout conseil, suggestion ou information et bonne journée à tous.

mood
Publicité
Posté le 09-10-2008 à 10:30:41  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  contrôle de check box dans un formulaire

 

Sujets relatifs
Cherche formulaire contactValidation d'un formulaire avec la touche Entrer
Formulaire de contact PHPprobleme verification formulaire
confirmation avant d'envoi par email d'un formulairerecuperation piece jointe formulaire
créer un formulaire avec case a cocherPassage de formulaire entre applications
problème de contrainte Check à deux tables:lecteur Divx et controle flottant
Plus de sujets relatifs à : contrôle de check box dans un formulaire


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR