Partage
  • Partager sur Facebook
  • Partager sur Twitter

Contrôle champ de formulaire

Champ ogligatoire si visible

    26 février 2009 à 0:51:09

    Bonsoir à tous.
    Je suis en train de faire un formulaire avec des champs qui apparaissent selon se que le visiteur a choisi dans un premier champ select.
    Je voudrai que ces champs deviennent obligatoire si ils apparaissent mais pas obligatoire ni même contrôlés si le visiteur a fait un choix dans le selecte qui ne fait pas afficher ces fameux champs "si autre précisé"
    Tout marche bien, sauf que le contrôle et toujours obligatoire.
    Qui peut m'aider à résoudre ce mystère ?
    Voici un morceau de code de la page du formulaire
    <form  action="traitement_formulaires.php" name="Formulaire_maq" id="formulaire_maq" method="post">
        <span>*</span>Type de maquette:
        <select name="Type_de_maquette" onchange="second_choix(this.value)">
        <option value="flyer">Flyer</option>
        <option value="prospectus">Prospectus</option>
        <option value="depliant">Dépliant</option>
        <option value="affiche">Affiche</option>
        <option value="chemise_a_rabats">Chemise à rabats</option>
        <option value="en_tete_de_lettre">En-tête de lettre</option>
        <option value="brochure">Brochure</option>
        <option value="calendrier">Calendrier</option>
        <option value="cartes_de_visites">Cartes de visites</option>
        <option value="cartes_commerciales">Cartes commerciales</option>
        <option value="sous_main">Sous main</option>
        <option value="autre">Autre</option>
        	</select><br />
    <label id="autre_type_maquette" style="display:none" value="autre" ><span>*</span>Si autre, préciser:
        <input type="text" name="Maquette_autre_type" id="maquette_autre_type" onblur="verifMaquette_autre_type(this)"/></label>
    

    Et le code js de contrôle.
    function autre_choix(valeur) {
    	if(valeur=="autre")  {
    		document.getElementById("autre_type_maquette").style.display = "block";
    	}else {
    		document.getElementById("autre_type_maquette").style.display = "none";
    	}
    	if(valeur=="autre")  {
    		document.getElementById("vous_etes_autre").style.display = "block";
    	}else {
    		document.getElementById("vous_etes_autre").style.display = "none";
    	}
    }
    function surligne(champ, erreur)
    {
       if(erreur)
          champ.style.backgroundColor = "#fba";
       else
          champ.style.backgroundColor = "";
    }
    function verifMaquette_autre_type(champ)
    {
       if(champ.value.length < 2 || champ.value.length > 50)
       {
          surligne(champ, true);
          return false;
       }
       else
       {
          surligne(champ, false);
          return true;
       }
    }
    function verifFormat_ouvert(champ)
    {
       if(champ.value.length < 2 || champ.value.length > 50)
       {
          surligne(champ, true);
          return false;
       }
       else
       {
          surligne(champ, false);
          return true;
       }
    }
    function verifFormat_ferme(champ)
    {
       if(champ.value.length < 2 || champ.value.length > 50)
       {
          surligne(champ, true);
          return false;
       }
       else
       {
          surligne(champ, false);
          return true;
       }
    }
    
    function verifForm(f)
    {
    	var maquette_autre_typeOk = verifMaquette_autre_type(f.maquette_autre_type);
    	var format_ouvertOk = verifFormat_ouvert(f.format_ouvert);
    	var format_fermeOk = verifFormat_ferme(f.format_ferme);
       
       if(maquette_autre_typeOk && format_ouvertOk && format_fermeOk)
          return true
       else
       {
          alert("Veuillez remplir les champs en rouge");
          return false;
       }
    }
    function control_champ_form_maq()
    {
    	var erreur = "";
    	if (document.getElementById('maquette_autre_type').value=='')
    	erreur = erreur+"- Le type de la maquette\n" ;
    	if (document.getElementById('format_ouvert').value=='')
    	erreur = erreur+"- Format fini à plat\n" ;
    	if (document.getElementById('format_ferme').value=='')
    	erreur = erreur+"- Format fini ferme\n";
    	if (document.getElementById('mac_recto').checked==false &&
    		document.getElementById('mac_recto_verso').checked==false)
    	erreur = erreur+"- Le choix recto ou recto et verso\n";
    	if (document.getElementById('Text_a_saisir').checked==false &&
    		document.getElementById('text_pas_a_saisir').checked==false)
    	erreur = erreur+"- Préciser si le texte est à saisir\n";
    	if (document.getElementById('images_fournies').checked==false &&
    		document.getElementById('images_non_fournies').checked==false)
    	erreur = erreur+"- Préciser si les photos sont fournies\n";
    	if (erreur!="") {
    		alert("Le formulaire est incomplait ou mal remplit.Regardez les champs suivant:\n"+erreur);
    		}
    	else if (confirm("Le premier formulaire est complet. Ok pour continuer"))
    	{ 
    	recupererFichiercacher('FormInfoClient.html', 'partie_Form_cache');
    	}
    }
    

    Merci de m'aider.
    • Partager sur Facebook
    • Partager sur Twitter

    Création de site internet dansle7.fr Référencement et publicité gratuites sur commercesdu7.fr

    Contrôle champ de formulaire

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown