begin process at 2012 05 30 05:17:59
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Function & Méthodes

 > 

vérification d'un formulaire avec plusieurs choix


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

vérification d'un formulaire avec plusieurs choix

dimanche 3 mai 2009 à 15:53:13 | vérification d'un formulaire avec plusieurs choix

benetophe

Bonjour à tous.

j'ai un projet à développer sur la base d'un formulaire et de sa vérification.
Mon formulaire se compose d'un partie générale et d'une partie variable, c'est à dire :
- Partie fixe : nom, prénom, ..... pour cela pas de soucis.
- Partie variable : à partir d'une liste déroulante et du choix que l'on fait, une partie du formulaire devient visible. Par exemple : choix 1 = nom de l'organisme qui apparait // choix 2 = nom du votre garant, adresse de votre garant etc.... // choix 3 = organisme financier, adresse etc...

Pour la partie de apparition des différentes parties du formulaire en fonction du choix, no soucis, par contre c'est sur le script de vérification que je sèche.

Mon soucis est que je ne sais pas comment faire pour qu'il vérifie que la partie sélectionnée (sachant qu'il n'y a pas les mêmes champs dans chaques partie).

Merci à tout ceux qui pourront m'aider car je suis dans les choux.

A +
et merci
benetophe

dimanche 3 mai 2009 à 16:33:14 | Re : vérification d'un formulaire avec plusieurs choix

Bul3

Membre Club
Bonjour,
ben... comme la partie concernée est fonction d'un choix,
        fais les contrôles en fonction de ce choix... non ?
Cordialement [mon Site] [M'écrire] Bul
dimanche 3 mai 2009 à 19:59:28 | Re : vérification d'un formulaire avec plusieurs choix

kazma

Administrateur CodeS-SourceS
bonjour
aussi si tu fait un display pour cacher les partie tu peut aussi ajouter de condition selon qu'une partie est visible ou non  dans le genre si tel partie est visible j'execute ce sript
lundi 4 mai 2009 à 21:08:34 | Re : vérification d'un formulaire avec plusieurs choix

benetophe

Salut et merci pour les suggestions.

Malheureusement j'ai un autre soucis qui vient de s'ajouter... Je n'arrive pas faire apparaitre les zones de chaque choix en fonction du choix dans la zone de liste.

1er problème :

voiçi mon code :

   <select name="TYPE_CHOIX" id="TYPE_CHOIX" style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana, Arial, Geneva;"
OnChange="if ( selectedIndex == 1 || selectedIndex == 2 ) { document.getElementById('CHOIX1').style.display='InLine';} else { document.getElementById('CHOIX1').style.display='none';} if ( selectedIndex == 2 ) { document.getElementById('CHOIX2').style.display='InLine';} else { document.getElementById('CHOIX2').style.display='none';}">

<option value="" selected="selected">Merci de faire un choix</option>
<option value="CHOIX0">Choix0</option>
<option value="CHOIX1">Choix1</option>
<option value="CHOIX2">Choix2</option>
</select>
  *
</div>

<DIV ID='CHOIX1' STYLE='display: none;'>
<div align="left" class="Style21">
    NOM : <input name="NOM" type="text" style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana, Arial, Geneva;"> ¤
<BR />
    PRENOM : <input name="PRENOM" type="text" style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana, Arial, Geneva;"> ¤
<BR />
</div>


<DIV ID='CHOIX2' STYLE='display: none;'>
<div align="left" class="Style21">
    AUTRE NOM : <input name="AUTRE_NOM" type="text" style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana, Arial, Geneva;"> ¤
<BR />
    AUTRE_PRENOM : <input name="AUTRE_PRENOM" type="text" style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana, Arial, Geneva;"> ¤
<BR />
</div>


2eme Problème :

En fonction de la sélection, le formulaire doit vérifier tel ou tel partie....

Alors si quelqu'un peut m'aider ce serait super sympa.... car je sèche ....

Merci beaucoup.
A+




mardi 5 mai 2009 à 08:42:32 | Re : vérification d'un formulaire avec plusieurs choix

Bul3

Membre Club
zut alors... mon message se perdit ?
ou j'ai posté ailleurs ? va savoir...
je disais :
_ déjà, il y a des erreurs html ( </div> qui manquent )
_ selectedIndex c'est quoi ? ça doit te dire undefined
_ tes if / else ne sont pas corrects

exemple :


<body>
<script>
function trait()
{ if ( document.getElementById("TYPE_CHOIX").selectedIndex == 1  )
{ document.getElementById('CHOIX1').style.display='inline';
document.getElementById('CHOIX2').style.display='none';
}
else { document.getElementById('CHOIX2').style.display='inline';
document.getElementById('CHOIX1').style.display='none';
}
}
</script>
<select name="TYPE_CHOIX" id="TYPE_CHOIX"
style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana, Arial, Geneva;"
OnChange="trait();">
<option value="" selected="selected">Merci de faire un choix</option>
<option value="CHOIX0">Choix0</option>
<option value="CHOIX1">Choix1</option>
<option value="CHOIX2">Choix2</option>
</select>
  *

<DIV ID='CHOIX1' STYLE='display:none;'>
<div align="left" class="Style21">
    NOM : <input name="NOM" type="text" style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana, Arial, Geneva;"> ¤
<BR />
    PRENOM : <input name="PRENOM" type="text" style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana, Arial, Geneva;"> ¤
<BR />
</div>
</div>

<DIV ID='CHOIX2' STYLE='display:none;'>
<div align="left" class="Style21">
    AUTRE NOM : <input name="AUTRE_NOM" type="text" style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana, Arial, Geneva;"> ¤
<BR />
    AUTRE_PRENOM : <input name="AUTRE_PRENOM" type="text" style="FONT-SIZE: 9pt; FONT-FAMILY: Verdana, Arial, Geneva;"> ¤
<BR />
</div>
</div>
</body>

et tu pourras contrôler nom et prenom ou autre_nom et autre_prenom
en fonction de document.getElementById("TYPE_CHOIX").selectedIndex
( sans préjuger du reste )
mardi 5 mai 2009 à 09:57:09 | Re : vérification d'un formulaire avec plusieurs choix

Bul3

Membre Club
d'ailleurs une fonction un peu mieux (?)

function trait()
{ var d1=document.getElementById('CHOIX1');
var d2=document.getElementById('CHOIX2')
d1.style.display="none";
d2.style.display="none";
switch ( document.getElementById("TYPE_CHOIX").selectedIndex )
{ case  1:
d1.style.display='inline';
break;
case  2:
d2.style.display='inline';
break;
}
}
mercredi 6 mai 2009 à 00:28:21 | Re : vérification d'un formulaire avec plusieurs choix

benetophe

Salut Bul3,

Merci pour ton aide très précieuse.
J'ai pris ton 2eme script et je l'ai adapté à mon html... Il marche nickel... un grand merci pour ton aide.

Par contre au au niveau de la vérification je sèche encore... j'y ai passé toute la journée mais rien...

Lorsque je sélectionne le choix 1 qui ne comprend aucuns champs, il me vérifie tout les champs. Lorsque je sélectionne le choix 2 (=nom + prénom) idem (vérification de tout les champs) et,le choix 3 là c'est ok car il doit me vérifier tout les champs.


Voiçi mon script

dans balise
<head>
<script language="JavaScript" src="gen_validatorv31.js" type="text/javascript"></script>
</head>


Dans balise Body :

<script language="JavaScript" type="text/javascript">
  var frmvalidator  = new Validator("myform");

 frmvalidator.EnableMsgsTogether();
 frmvalidator.addValidation("DATE_ENTREE","req","Le champ DATE D'ENTREE est obligatoire");
 
  frmvalidator.addValidation("CANDIDAT_NOM","req","Le champ NOM est obligatoire");
  frmvalidator.addValidation("CANDIDAT_NOM","maxlen=32",    "La longueur maximale pour entrer votre NOM est de 32 caracthères");
  //frmvalidator.addValidation("CANDIDAT_NOM","alpha_d","Seul les lettres sont autorisées dans le champ NOM");

  frmvalidator.addValidation("CANDIDAT_PRENOM","req","Le champ PRENOM est obligatoire");
  frmvalidator.addValidation("CANDIDAT_PRENOM","maxlen=32",    "La longueur maximale pour entrer votre PRENOM est de 32 caracthères");
  //frmvalidator.addValidation("CANDIDAT_PRENOM","alpha_s","Seul les lettres sont autorisées dans le champ PRENOM");
 
  frmvalidator.addValidation("CANDIDAT_NAISSANCE_DATE","req","Le champ DATE DE NAISSANCE est obligatoire");
  frmvalidator.addValidation("CANDIDAT_NAISSANCE_DATE","maxlen=10",    "Merci d'entrer DATE DE NAISSANCE DU GARANT au format jj/mm/aaaa");
  frmvalidator.addValidation("CANDIDAT_NAISSANCE_DATE","numeric_d","Le champ DATE DE NAISSANCE DU GARANT est obligatoire (au format jj/mm/aaaa)");
</script>




et le fichier gen_validatorv31.js :

/*
  -------------------------------------------------------------------------
              JavaScript Form Validator (gen_validatorv31.js)
              Version 3.1.1
    Copyright (C) 2003-2008 JavaScript-Coder.com. All rights reserved.
    You can freely use this script in your Web pages.
    You may adapt this script for your own needs, provided these opening credit
    lines are kept intact.
       
    The Form validation script is distributed free from JavaScript-Coder.com
    For updates, please visit:
    http://www.javascript-coder.com/html-form/javascript-form-validation.phtml
   
    Questions & comments please send to form.val at javascript-coder.com
  ------------------------------------------------------------------------- 
*/
function Validator(frmname)
{
  this.formobj=document.forms[frmname];
    if(!this.formobj)
    {
      alert("Error: couldnot get Form object "+frmname);
        return;
    }
    if(this.formobj.onsubmit)
    {
     this.formobj.old_onsubmit = this.formobj.onsubmit;
     this.formobj.onsubmit=null;
    }
    else
    {
     this.formobj.old_onsubmit = null;
    }
    this.formobj._sfm_form_name=frmname;
    this.formobj.onsubmit=form_submit_handler;
    this.addValidation = add_validation;
    this.setAddnlValidationFunction=set_addnl_vfunction;
    this.clearAllValidations = clear_all_validations;
    this.disable_validations = false;//new
    document.error_disp_handler = new sfm_ErrorDisplayHandler();
    this.EnableOnPageErrorDisplay=validator_enable_OPED;
    this.EnableOnPageErrorDisplaySingleBox=validator_enable_OPED_SB;
    this.show_errors_together=true;
    this.EnableMsgsTogether=sfm_enable_show_msgs_together;
}
function set_addnl_vfunction(functionname)
{
  this.formobj.addnlvalidation = functionname;
}
function sfm_enable_show_msgs_together()
{
    this.show_errors_together=true;
    this.formobj.show_errors_together=true;
}
function clear_all_validations()
{
    for(var itr=0;itr < this.formobj.elements.length;itr++)
    {
        this.formobj.elements[itr].validationset = null;
    }
}
function form_submit_handler()
{
   var bRet = true;
    document.error_disp_handler.clear_msgs();
    for(var itr=0;itr < this.elements.length;itr++)
    {
        if(this.elements[itr].validationset &&
       !this.elements[itr].validationset.validate())
        {
          bRet = false;
        }
        if(!bRet && !this.show_errors_together)
        {
          break;
        }
    }
    if(!bRet)
    {
      document.error_disp_handler.FinalShowMsg();
      return false;
    }

    if(this.addnlvalidation)
    {
      str =" var ret = "+this.addnlvalidation+"()";
      eval(str);
    if(!ret) return ret;
    }
    return true;
}
function add_validation(itemname,descriptor,errstr)
{
    var condition = null;
    if(arguments.length > 3)
    {
     condition = arguments[3];
    }
  if(!this.formobj)
    {
        alert("Attention, les éléments obligatoires ne sont pas indiqués correctements");
        return;
    }//if
    var itemobj = this.formobj[itemname];
    if(itemobj.length && isNaN(itemobj.selectedIndex) )
    //for radio button; don't do for 'select' item
    {
        itemobj = itemobj[0];
    }   
  if(!itemobj)
    {
        alert("Error: Couldnot get the input object named: "+itemname);
        return;
    }
    if(!itemobj.validationset)
    {
        itemobj.validationset = new ValidationSet(itemobj,this.show_errors_together);
    }
    itemobj.validationset.add(descriptor,errstr,condition);
    itemobj.validatorobj=this;
}
function validator_enable_OPED()
{
    document.error_disp_handler.EnableOnPageDisplay(false);
}

function validator_enable_OPED_SB()
{
    document.error_disp_handler.EnableOnPageDisplay(true);
}
function sfm_ErrorDisplayHandler()
{
  this.msgdisplay = new AlertMsgDisplayer();
  this.EnableOnPageDisplay= edh_EnableOnPageDisplay;
  this.ShowMsg=edh_ShowMsg;
  this.FinalShowMsg=edh_FinalShowMsg;
  this.all_msgs=new Array();
  this.clear_msgs=edh_clear_msgs;
}
function edh_clear_msgs()
{
    this.msgdisplay.clearmsg(this.all_msgs);
    this.all_msgs = new Array();
}
function edh_FinalShowMsg()
{
    this.msgdisplay.showmsg(this.all_msgs);
}
function edh_EnableOnPageDisplay(single_box)
{
    if(true == single_box)
    {
        this.msgdisplay = new SingleBoxErrorDisplay();
    }
    else
    {
        this.msgdisplay = new DivMsgDisplayer();       
    }
}
function edh_ShowMsg(msg,input_element)
{
   
   var objmsg = new Array();
   objmsg["input_element"] = input_element;
   objmsg["msg"] =  msg;
   this.all_msgs.push(objmsg);
}
function AlertMsgDisplayer()
{
  this.showmsg = alert_showmsg;
  this.clearmsg=alert_clearmsg;
}
function alert_clearmsg(msgs)
{

}
function alert_showmsg(msgs)
{
    var whole_msg="";
    var first_elmnt=null;
    for(var m=0;m < msgs.length;m++)
    {
        if(null == first_elmnt)
        {
            first_elmnt = msgs[m]["input_element"];
        }
        whole_msg += msgs[m]["msg"] + "\n";
    }
   
    alert(whole_msg);

    if(null != first_elmnt)
    {
        first_elmnt.focus();
    }
}
function sfm_show_error_msg(msg,input_elmt)
{
    document.error_disp_handler.ShowMsg(msg,input_elmt);
}
function SingleBoxErrorDisplay()
{
 this.showmsg=sb_div_showmsg;
 this.clearmsg=sb_div_clearmsg;
}

function sb_div_clearmsg(msgs)
{
    var divname = form_error_div_name(msgs);
    show_div_msg(divname,"");
}

function sb_div_showmsg(msgs)
{
    var whole_msg="<ul>\n";
    for(var m=0;m < msgs.length;m++)
    {
        whole_msg += "<li>" + msgs[m]["msg"] + "</li>\n";
    }
    whole_msg += "</ul>";
    var divname = form_error_div_name(msgs);
    show_div_msg(divname,whole_msg);
}
function form_error_div_name(msgs)
{
    var input_element= null;

    for(var m in msgs)
    {
     input_element = msgs[m]["input_element"];
     if(input_element){break;}
    }

    var divname ="";
    if(input_element)
    {
     divname = input_element.form._sfm_form_name + "_errorloc";
    }

    return divname;
}
function DivMsgDisplayer()
{
 this.showmsg=div_showmsg;
 this.clearmsg=div_clearmsg;
}
function div_clearmsg(msgs)
{
    for(var m in msgs)
    {
        var divname = element_div_name(msgs[m]["input_element"]);
        show_div_msg(divname,"");
    }
}
function element_div_name(input_element)
{
  var divname = input_element.form._sfm_form_name + "_" +
                   input_element.name + "_errorloc";

  divname = divname.replace(/[\[\]]/gi,"");

  return divname;
}
function div_showmsg(msgs)
{
    var whole_msg;
    var first_elmnt=null;
    for(var m in msgs)
    {
        if(null == first_elmnt)
        {
            first_elmnt = msgs[m]["input_element"];
        }
        var divname = element_div_name(msgs[m]["input_element"]);
        show_div_msg(divname,msgs[m]["msg"]);
    }
    if(null != first_elmnt)
    {
        first_elmnt.focus();
    }
}
function show_div_msg(divname,msgstring)
{
    if(divname.length<=0) return false;

    if(document.layers)
    {
        divlayer = document.layers[divname];
        if(!divlayer){return;}
        divlayer.document.open();
        divlayer.document.write(msgstring);
        divlayer.document.close();
    }
    else
    if(document.all)
    {
        divlayer = document.all[divname];
        if(!divlayer){return;}
        divlayer.innerHTML=msgstring;
    }
    else
    if(document.getElementById)
    {
        divlayer = document.getElementById(divname);
        if(!divlayer){return;}
        divlayer.innerHTML =msgstring;
    }
    divlayer.style.visibility="visible";   
    return false;
}
function ValidationDesc(inputitem,desc,error,condition)
{
  this.desc=desc;
    this.error=error;
    this.itemobj = inputitem;
    this.condition = condition;
    this.validate=vdesc_validate;
}
function vdesc_validate()
{
    if(this.condition != null )
    {
        if(!eval(this.condition))
        {
            return true;
        }
    }
    if(!validateInput(this.desc,this.itemobj,this.error))
    {
        this.itemobj.validatorobj.disable_validations=true;
        this.itemobj.focus();
        return false;
    }
    return true;
}
function ValidationSet(inputitem,msgs_together)
{
    this.vSet=new Array();
    this.add= add_validationdesc;
    this.validate= vset_validate;
    this.itemobj = inputitem;
    this.msgs_together = msgs_together;
}
function add_validationdesc(desc,error,condition)
{
  this.vSet[this.vSet.length]=
  new ValidationDesc(this.itemobj,desc,error,condition);
}
function vset_validate()
{
    var bRet = true;
    for(var itr=0;itr<this.vSet.length;itr++)
    {
        bRet = bRet && this.vSet[itr].validate();
        if(!bRet && !this.msgs_together)
        {
            break;
        }
    }
    return bRet;
}
function validateEmail(email)
{
    var splitted = email.match("^(.+)@(.+)$");
    if(splitted == null) return false;
    if(splitted[1] != null )
    {
      var regexp_user=/^\"?[\w-_\.]*\"?$/;
      if(splitted[1].match(regexp_user) == null) return false;
    }
    if(splitted[2] != null)
    {
      var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
      if(splitted[2].match(regexp_domain) == null)
      {
        var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
        if(splitted[2].match(regexp_ip) == null) return false;
      }// if
      return true;
    }
return false;
}

function IsCheckSelected(objValue,chkValue)
{
    var selected=false;
    var objcheck = objValue.form.elements[objValue.name];
    if(objcheck.length)
    {
        var idxchk=-1;
        for(var c=0;c < objcheck.length;c++)
        {
           if(objcheck[c].value == chkValue)
           {
             idxchk=c;
             break;
           }//if
        }//for
        if(idxchk>= 0)
        {
          if(objcheck[idxchk].checked=="1")
          {
            selected=true;
          }
        }//if
    }
    else
    {
        if(objValue.checked == "1")
        {
            selected=true;
        }//if
    }//else   

    return selected;
}
function TestDontSelectChk(objValue,chkValue,strError)
{
    var pass = true;
    pass = IsCheckSelected(objValue,chkValue)?false:true;

    if(pass==false)
    {
     if(!strError || strError.length ==0)
        {
            strError = "Can't Proceed as you selected "+objValue.name; 
        }//if             
      sfm_show_error_msg(strError,objValue);
     
    }
    return pass;
}
function TestShouldSelectChk(objValue,chkValue,strError)
{
    var pass = true;

    pass = IsCheckSelected(objValue,chkValue)?true:false;

    if(pass==false)
    {
     if(!strError || strError.length ==0)
        {
            strError = "Vous devez sélectionner "+objValue.name; 
        }//if             
      sfm_show_error_msg(strError,objValue);
     
    }
    return pass;
}
function TestRequiredInput(objValue,strError)
{
 var ret = true;
 var val = objValue.value;
 val = val.replace(/^\s+|\s+$/g,"");//trim
    if(eval(val.length) == 0)
    {
       if(!strError || strError.length ==0)
       {
         strError = objValue.name + " : est requis";
       }//if
       sfm_show_error_msg(strError,objValue);
       ret=false;
    }//if
return ret;
}
function TestMaxLen(objValue,strMaxLen,strError)
{
 var ret = true;
    if(eval(objValue.value.length) > eval(strMaxLen))
    {
      if(!strError || strError.length ==0)
      {
        strError = objValue.name + " : "+ strMaxLen +" caractères maximum ";
      }//if
      sfm_show_error_msg(strError,objValue);
      ret = false;
    }//if
return ret;
}
function TestMinLen(objValue,strMinLen,strError)
{
 var ret = true;
    if(eval(objValue.value.length) <  eval(strMinLen))
    {
      if(!strError || strError.length ==0)
      {
        strError = objValue.name + " : " + strMinLen + " caractères minimum  ";
      }//if              
      sfm_show_error_msg(strError,objValue);
      ret = false;  
    }//if
return ret;
}
function TestInputType(objValue,strRegExp,strError,strDefaultError)
{
   var ret = true;

    var charpos = objValue.value.search(strRegExp);
    if(objValue.value.length > 0 &&  charpos >= 0)
    {
     if(!strError || strError.length ==0)
      {
        strError = strDefaultError;
      }//if
      sfm_show_error_msg(strError,objValue);
      ret = false;
    }//if
 return ret;
}
function TestEmail(objValue,strError)
{
var ret = true;
     if(objValue.value.length > 0 && !validateEmail(objValue.value)     )
     {
       if(!strError || strError.length ==0)
       {
          strError = objValue.name+": Merci d'entrer une adresse Email valide ";
       }//if                                              
       sfm_show_error_msg(strError,objValue);
       ret = false;
     }//if
return ret;
}
function TestLessThan(objValue,strLessThan,strError)
{
var ret = true;
      if(isNaN(objValue.value))
      {
        sfm_show_error_msg(objValue.name +": doit être des nombres ",objValue);
        ret = false;
      }//if
      else
      if(eval(objValue.value) >=  eval(strLessThan))
      {
        if(!strError || strError.length ==0)
        {
          strError = objValue.name + " : la valeure doit être inférieure à "+ strLessThan;
        }//if              
        sfm_show_error_msg(strError,objValue);
        ret = false;                
       }//if  
return ret;         
}
function TestGreaterThan(objValue,strGreaterThan,strError)
{
var ret = true;
     if(isNaN(objValue.value))
     {
       sfm_show_error_msg(objValue.name+": doit être des nombres ",objValue);
       ret = false;
     }//if
     else
     if(eval(objValue.value) <=  eval(strGreaterThan))
      {
        if(!strError || strError.length ==0)
        {
          strError = objValue.name + " : la valeure entrée doit être supérieur à "+ strGreaterThan;
        }//if              
        sfm_show_error_msg(strError,objValue); 
        ret = false;
      }//if 
return ret;          
}
function TestRegExp(objValue,strRegExp,strError)
{
var ret = true;
    if( objValue.value.length > 0 &&
        !objValue.value.match(strRegExp) )
    {
      if(!strError || strError.length ==0)
      {
        strError = objValue.name+": caractère trouvé invalide ";
      }//if                                                              
      sfm_show_error_msg(strError,objValue);
      ret = false;                  
    }//if
return ret;
}
function TestDontSelect(objValue,dont_sel_index,strError)
{
var ret = true;
    if(objValue.selectedIndex == null)
    {
      sfm_show_error_msg("ERROR: dontselect command for non-select Item");
      ret =  false;
    }
    if(objValue.selectedIndex == eval(dont_sel_index))
    {
     if(!strError || strError.length ==0)
      {
      strError = objValue.name+": Merci de sélectionner une option ";
      }//if                                                              
      sfm_show_error_msg(strError,objValue);
      ret =  false;                                  
     }
return ret;
}
function TestSelectOneRadio(objValue,strError)
{
    var objradio = objValue.form.elements[objValue.name];
    var one_selected=false;
    for(var r=0;r < objradio.length;r++)
    {
      if(objradio[r].checked)
      {
          one_selected=true;
        break;
      }
    }
    if(false == one_selected)
    {
      if(!strError || strError.length ==0)
       {
        strError = "Merci de sélectionner une option dans "+objValue.name;
       }   
      sfm_show_error_msg(strError,objValue);
    }
return one_selected;
}

function validateInput(strValidateStr,objValue,strError)
{
    var ret = true;
    var epos = strValidateStr.search("=");
    var  command  = "";
    var  cmdvalue = "";
    if(epos >= 0)
    {
     command  = strValidateStr.substring(0,epos);
     cmdvalue = strValidateStr.substr(epos+1);
    }
    else
    {
     command = strValidateStr;
    }
    switch(command)
    {
        case "req":
        case "required":
         {
           ret = TestRequiredInput(objValue,strError)
           break;            
         }//case required
        case "maxlength":
        case "maxlen":
          {
             ret = TestMaxLen(objValue,cmdvalue,strError)
             break;
          }//case maxlen
        case "minlength":
        case "minlen":
           {
             ret = TestMinLen(objValue,cmdvalue,strError)
             break;
            }//case minlen
        case "alnum":
        case "alphanumeric":
           {
                ret = TestInputType(objValue,"[^A-Za-z0-9]",strError,
                        objValue.name+": Only alpha-numeric characters allowed ");
                break;
           }
        case "alnum_s":
        case "alphanumeric_space":
           {
                ret = TestInputType(objValue,"[^A-Za-z0-9\\s]",strError,
                        objValue.name+": Only alpha-numeric characters and space allowed ");
                break;
           }          
        case "num":
        case "numeric":
           {
                ret = TestInputType(objValue,"[^0-9]",strError,
                        objValue.name+": Only digits allowed ");
                break;              
           }
        case "num_/":
        case "numeric_d":
           {
                ret = TestInputType(objValue,"[^0-9\/]",strError,
                        objValue.name+": Only digits allowed ");
                break;              
           }
        case "dec":
        case "decimal":
           {
                ret = TestInputType(objValue,"[^0-9\.]",strError,
                        objValue.name+": Only numbers allowed ");
                break;              
           }
        case "alphabetic":
        case "alpha":
           {
                ret = TestInputType(objValue,"[^A-Za-z]",strError,
                        objValue.name+": Only alphabetic characters allowed ");
                break;
           }
        case "alphabetic_space":
        case "alpha_s":
           {
                ret = TestInputType(objValue,"[^A-Za-z\\s]",strError,
                        objValue.name+": Only alphabetic characters and space allowed ");
                break;
        }

        case "alphabetic_d":
        case "alpha_d":
           {
                ret = TestInputType(objValue,"[^A-Za-z\\s]",strError,
                        objValue.name+": Only alphabetic characters and space allowed ");
                break;
           }
case "email":
          {
               ret = TestEmail(objValue,strError);
               break;
          }
        case "lt":
        case "lessthan":
         {
              ret = TestLessThan(objValue,cmdvalue,strError);
              break;
         }
        case "gt":
        case "greaterthan":
         {
            ret = TestGreaterThan(objValue,cmdvalue,strError);
            break;
         }//case greaterthan
        case "regexp":
         {
            ret = TestRegExp(objValue,cmdvalue,strError);
           break;
         }
        case "dontselect":
         {
             ret = TestDontSelect(objValue,cmdvalue,strError)
             break;
         }
        case "dontselectchk":
        {
            ret = TestDontSelectChk(objValue,cmdvalue,strError)
            break;
        }
        case "shouldselchk":
        {
            ret = TestShouldSelectChk(objValue,cmdvalue,strError)
            break;
        }
        case "selone_radio":
        {
            ret = TestSelectOneRadio(objValue,strError);
            break;
        }         
    }//switch
    return ret;
}
function VWZ_IsListItemSelected(listname,value)
{
 for(var i=0;i < listname.options.length;i++)
 {
  if(listname.options[i].selected == true &&
   listname.options[i].value == value)
   {
     return true;
   }
 }
 return false;
}
function VWZ_IsChecked(objcheck,value)
{
 if(objcheck.length)
 {
     for(var c=0;c < objcheck.length;c++)
     {
       if(objcheck[c].checked == "1" &&
         objcheck[c].value == value)
       {
        return true;
       }
     }
 }
 else
 {
  if(objcheck.checked == "1" )
   {
    return true;
   }   
 }
 return false;
}
/*
    Copyright (C) 2003-2008 JavaScript-Coder.com . All rights reserved.
*/




De plus, lorsque je valide le formulaire, celui-ci fait appel à un script php qui me tranforme le formulaire en PDF via la class FPDF.

Comment faire pour qu'il n'affiche que les champs en fonction du choix sélectionné ?

Un grand grand grand merci  pour votre aide car là je suis désespéré....et

Merci encore...
a+
Benetophe


Cette discussion est classée dans : formulaire, choix, vérification, partie, soucis


Répondre à ce message

Sujets en rapport avec ce message

Vérification Formulaire [ par GLTRADE ] Bonjour à vous tous, après avoir cherché dans tous les anciens sujets j'en reviens à votre expérience et vous demande urgemment de l'aide... Voilà j'a choix de l'évènement [ par jackrichard ] Salut a tous Voila j’ai un problème avec mon formulaire il se décompose en trois partie dont les deux dernière sont au chargement de la page en disabl Vérification d'un menu dans un formulaire [ par petitedemoiselle ] Bonjour,J'ai crée un formulaire dans lequel il y a 2 champs à remplir.Le mail dans un champ de texte.Aucun problème pour vérifier si il a été correcte Script de vérification de formulaire avec des choix cachés [ par benetophe ] Bonjour à tous,Je poste ce message car je sèche royalement sur un script de vérification de formulaire.Après plusieurs jours de recherche sur la toile Renvoi à une page donné [ par lesutils ] Bonjour,J'ai installé ce code qui est un formulaire de contact, tout fonctionne très bien sauf à la fin à l'envoi il devrait renvoyé sur cette page re Choisir entre 2 partie d'un forumaires [ par JypX ] Bonjour, Je ne veux pas faire juste cacher l'une des 2 parties d'un formulaire mais que seul la partie active soit envoyer et pas les 2 comme c'est l formulaire vérification sur saisie [ par fredshaoline ] Bonjour, Tout d'abord je tiens à vous remercier pour ce site qui est vraiment génial, je suis vraiment ravi de l'avoir connu. Voilà mon problème. test des champs d'un formulaire [ par yosra72000 ] salut tout le monde bonjour tout le monde, g un petit problème si quelqu'un pourrait m'aider ca sera trés gentil j'ai créer un formulaire da formulaire AJAX [ par TomSoyer ] Bonjour à tous.Je suis programmeur débutant et j'aimerais bien faire un formulaire en AJAX avec des radio boutons et quand un clic sur 1 de ces radio Afficher un exemple dans un tableau en fonction d'un choix dans un formulaire [ par kilian67 ] Bonjour,Je souhaite que d'après les choix qu'un utilisateur fait dans un formulaire de mise en page (police, taille, couleur, etc...) un exemple s'aff


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,061 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales