Afficher un ou deux champs selon l'option select

Résolu/Fermé
maevien Messages postés 19 Date d'inscription jeudi 7 mars 2013 Statut Membre Dernière intervention 14 octobre 2013 - 12 mars 2013 à 14:13
maevien Messages postés 19 Date d'inscription jeudi 7 mars 2013 Statut Membre Dernière intervention 14 octobre 2013 - 13 mars 2013 à 13:00
Bonjour,


je me suis inspiré des codes de ce forum mé jariv tjr po à trouver l'erreur voici le code:<html>
<head>
<script LANGUAGE="javascript" type="text/javascript">
function afficherAutre() {
var chaine =document.getElementById('identite').value;
var a = document.getElementById('enternom').value;
var b = document.getElementById('entermail').value;
var c = document.getElementById('nome').value;
var d = document.getElementById('maile').value;



if (chaine == "entreprise")
{
a.style='display:block' ;
b.style='display:block' ;
}

else if ((chaine == "particulier") || (chaine == "professionnel"))
{
c.style='display:block';
d.style='display:block';
}
else
{
a.style='display:none';
b.style='display:none';
c.style='display:none';
d.style='display:none';
}
}

</script>
<meta charset="utf-8" />
<title>Nous-contacter</title>
</head>
<body>

<form id="formulaire" name="formulaire" method="post" >
CONTACTEZ-NOUS PAR MAIL<br><br><br><br>
<p>
<div id="identity">

Vous êtes:
<select name="identites" id="identite" onchange="afficherAutre();"><br>
<option value="choisir" selected> Choississez votre option </option><br>
<option value="entreprise" >Entreprise</option><br>
<option value="professionel" >Professionnel</option><br>
<option value="particulier" >Particulier</option><br>
</select><br>
</div>
</p>
<p>
<div id="enternom" style="display:none">
<fieldset >
   
Nom de l'Entreprise:
<input type="text" name="nom" id="nomenter" /> <br>
</fieldset></div>
<div id="entermail" style="display:none">
<fieldset >
   
Email de l'entreprise :
<input type="text" name="email" id="mailenter" /> <br>
</fieldset></div>
<div id="nome" style="display:none">
<fieldset >
   
Votre nom :
<input type="text" name="nom" id="nom" /> <br>
</div>
<div id="maile" style="display:none">
<fieldset >   
Votre Email:
<input type="text" name="email" id="mail" /> <br>
</fieldset></div>
<label for="objet"> Objet      </label>
<input type="text" name="objet" id="objet"/> <br>
<label for="message"> Votre Message </label>
<textarea name="message" id="message" cols="60"
rows="6" ></textarea> <br><br>
<label for="verif">Entrer le code</label>
<input type="text" name="verif" size="10" maxlength="5" />
<img src="captcha.php" alt="securisation du formulaire" title="securisation du formulaire" />

<br><br><br>
<input type="submit" value="Envoyer" >
</form>

</body>
</html>
A voir également:

4 réponses

epitale Messages postés 3943 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 27 octobre 2017 915
12 mars 2013 à 17:05
bonjour maevien
plusieurs erreurs :

- Lorsque tu vas chercher tes div par id
var a = document.getElementById('enternom').value;
il ne faut pas mettre .value

- Pour appliquer un style a ces div
a.style='display:block' ;
ca marche mieux avec :
a.style.display='block' ;
--
0
maevien Messages postés 19 Date d'inscription jeudi 7 mars 2013 Statut Membre Dernière intervention 14 octobre 2013
12 mars 2013 à 17:54
merci epitale javé mis a.style.display='block' mé ça ne marché pa j vé cooriger pour voir l rst
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
Modifié par Alain_42 le 13/03/2013 à 11:00
il faut atteindre l'objet puis travailler sur la valeur de l'objet et son style
function afficherAutre() { 
var chaine =document.getElementById('identite'); 
var a = document.getElementById('enternom'); 
var b = document.getElementById('entermail'); 
var c = document.getElementById('nome'); 
var d = document.getElementById('maile'); 


//on lit la valeur pour faire le test 
if (chaine.value == "entreprise") 
{ 
//on affiche les deux div 
a.style.display='block' ; 
b.style.display='block' ;  
//l'utilisateur peut changer d'avis et modifier son choix dans la liste, donc penser à masquer ce qui est éventuellement affiché 
c.style.display='none' ; 
d.style.display='none' ;  
} 

//etc... 


et mets les balises <meta avant le script JS
il manque aussi le <DOCTYPE au début de ta page
0
maevien Messages postés 19 Date d'inscription jeudi 7 mars 2013 Statut Membre Dernière intervention 14 octobre 2013
13 mars 2013 à 13:00
Ouf de soulagement Grand merci à toi Alain_42 ça marche
0