Faire apparaitre champ
Résolu
jordxn
Messages postés
356
Date d'inscription
Statut
Membre
Dernière intervention
-
Mihawk Messages postés 4315 Date d'inscription Statut Contributeur Dernière intervention -
Mihawk Messages postés 4315 Date d'inscription Statut Contributeur Dernière intervention -
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";
}
}
A voir également:
- Faire apparaitre champ
- Apparaitre hors ligne instagram - Guide
- Comment faire apparaître la tabulation sur word - Guide
- Comment faire apparaître le curseur sans souris - Guide
- Apparaitre hors ligne whatsapp - Guide
- Comment faire apparaître le clavier sur une tablette - Guide
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>
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.
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
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 />
Dernière petite question : Si je veux rajouter un bouton "ajouter un autre email qui fasse apparaître un nouveau input, sa marche pareil ?
Et ainsi de suite si tu veux en mettre d'autres.
<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...