Faire apparaitre champ
Résolu
jordxn
Messages postés
375
Statut
Membre
-
Mihawk Messages postés 4753 Statut Contributeur -
Mihawk Messages postés 4753 Statut Contributeur -
Bonjour,
J'ai réussi a faire apparaître un champ email si l'utilisateur a coché le bouton oui et s'il coche non, aucun champ apparaît.
Sauf que quand je clique oui le champ apparaît et qu'après je clique non , le champs a coté de oui ne disparaît pas...
2eme soucis: j'aimerais rajouter un bouton "ajouter un autre email qui fasse apparaître un nouveau input , merci bcp !
<label for="partager" id="partager_label">Partager la tache</label>
<input type="radio" name="tem" value="oui" id="ooui" onclick="met(this,'oui','non');" ><label for="ooui">Oui</label> <input type="text" style="display:none" id="oui" value="Email"><br />
<input type="radio" name="tem" value="non" id="nnon" onclick="met(this,'non','oui');" ><label for="nnon">Non</label> <br />
javascript :
function met(btn,champ1)
{
if (btn.checked)
{
document.getElementById(champ1).style.display="inline";
}
}
J'ai réussi a faire apparaître un champ email si l'utilisateur a coché le bouton oui et s'il coche non, aucun champ apparaît.
Sauf que quand je clique oui le champ apparaît et qu'après je clique non , le champs a coté de oui ne disparaît pas...
2eme soucis: j'aimerais rajouter un bouton "ajouter un autre email qui fasse apparaître un nouveau input , merci bcp !
<label for="partager" id="partager_label">Partager la tache</label>
<input type="radio" name="tem" value="oui" id="ooui" onclick="met(this,'oui','non');" ><label for="ooui">Oui</label> <input type="text" style="display:none" id="oui" value="Email"><br />
<input type="radio" name="tem" value="non" id="nnon" onclick="met(this,'non','oui');" ><label for="nnon">Non</label> <br />
javascript :
function met(btn,champ1)
{
if (btn.checked)
{
document.getElementById(champ1).style.display="inline";
}
}
3 réponses
-
Nouveau code :
<label for="partager" id="partager_label">Partager la tache</label> <input type="radio" name="tem" value="oui" id="ooui" onclick="met(this, 'emailInput1');" > <label for="ooui">Oui</label> <input type="text" style="display:none" id="emailInput1" value="Email"> <br /> <input type="radio" name="tem" value="non" id="nnon" onclick="met(this, 'emailInput1');" > <label for="nnon">Non</label> <br /> <script type="text/javascript"> function met(btn, emailInputId){ if (btn.checked && btn.value == "oui"){ document.getElementById(emailInputId).style.display="inline"; } else { if (btn.checked && btn.value == "non"){ document.getElementById(emailInputId).style.display="none"; } else { // Cas particulier qu'on ne gère pas } } } </script>
-
-
-
Merci, j'ai essayé :
<label for="partager" id="partager_label">Partager la tache</label>
<input type="radio" name="tem" value="oui" id="ooui" onclick="met(this, 'emailInput1');" >
<label for="ooui">Oui</label>
<input type="text" style="display:none" id="emailInput1" value="Email">
<input type="button" style="display:none" id="emailInput1" value="Ajouter un autre email">
<input type="text" style="display:none" id="emailInput2" value="Email">
<br />
<input type="radio" name="tem" value="non" id="nnon" onclick="met(this, 'emailInput1');" >
<label for="nnon">Non</label>
<br />
J'aurais aimé que le bouton Ajouter un autre email apparaisse en même que le premier champ email c'est pour cela que j'ai mis le même id et qu'ensuite si l'utilisateur clique sur le bouton , l'autre champ email apparaisse... -
-
-
-
Hello,
Avant de s'occuper de l'ajout, il faut déjà purifier ton code qui contient beaucoup d'incohérence.
1/ Pourquoi utiliser des radiobutton alors qu'un checkbox serait suffisante ?
2/ Ta fonction Javascript "met()" prend 2 paramètres mais quand tes boutons l'appellent (dans les onClick) tu en envoies trois ; le dernier est donc inutile.
3/ Ta fonction met() appelle un élément donc l'ID est "champ1" ; j'aimerais bien voir son code HTML également.
-
En quoi je pourrais l'améliorer svp :
Sachant que je trouve cela plus joli avec des buttons radios sur mon site :
<label for="partager" id="partager_label">Partager la tache</label>
<input type="radio" name="tem" value="oui" id="ooui" onclick="met(this,'oui');" ><label for="ooui">Oui</label> <input type="text" style="display:none" id="oui" value="Email"><br />
<input type="radio" name="tem" value="non" id="nnon" onclick="met(this,'non');" ><label for="nnon">Non</label> <br />
javascript :
function met(btn,oui)
{
if (btn.checked)
{
document.getElementById(oui).style.display="inline";
}
}
Merci-
-
-
-
-
Ah pardon, il va falloir que tu apprennes à structurer ton code !
<label for="partager" id="partager_label">Partager la tache</label> <input type="radio" name="tem" value="oui" id="ooui" onclick="met(this,'oui');" > <label for="ooui">Oui</label> <input type="text" style="display:none" id="oui" value="Email"> <br /> <input type="radio" name="tem" value="non" id="nnon" onclick="met(this,'non');" > <label for="nnon">Non</label> <br />
-