[JS] Cacher/Afficher une partie d'un formulai

Résolu/Fermé
Eminho - 3 nov. 2009 à 17:07
 Eminho - 3 nov. 2009 à 17:31
Bonjour,

j'ai un petit problème pour afficher/cacher une partie d'un formulaire. Voici mon code Javascript :
<script type="text/javascript">
<!--
function ltype()
{
    var adresse = document.getElementById("adresse");
	var nomdelieu = document.getElementById("nomdelieu");
	
	if(document.form.listtype.value == 0)
	{
	    adresse.style.display = "none";
		nomdelieu.style.display = "";
	}
	else
	{
	    adresse.style.display = "";
		nomdelieu.style.display = "none";
	}
	return true;
}
-->
</script>


et voici le HTML :

<form name="form">
    <table>
	    <tr><td><label>Type de lieu</label></td><td style="font-size:12px;padding-top:3px;padding-bottom:3px;"><input type="radio" name="listtype" value="0" onclick="ltype()" checked />Adresse <input type="radio" name="listtype" value="1" onclick="ltype()" />Nom de lieu</td></tr>
        <tr id="adresse"><td><label for="adresse">Adresse du lieu</label></td><td><input type="text" name="adresse" /></td></tr>
        <tr  id="nomdelieu" style="display:none"><td><label for="lieu">Nom du lieu</label></td><td><input type="text" name="lieu" /></td></tr>
	</table>
</form>

Mon but est d'afficher ou de cacher la ligne 'nomdelieu' ou la ligne 'adresse' selon la case cochée...

Merci d'avance !


Eminho

4 réponses

Meelas Messages postés 15 Date d'inscription lundi 19 octobre 2009 Statut Membre Dernière intervention 16 novembre 2009 7
3 nov. 2009 à 17:26
Salut,

Essaie de faire ça:

Change ta fonction JS par:

function ltype(value)
{
    var adresse = document.getElementById("adresse");
	var nomdelieu = document.getElementById("nomdelieu");
	
	if(value == 1)
	{
	    adresse.style.display = "none";
		nomdelieu.style.display = "";
	}
	else
	{
	    adresse.style.display = "";
		nomdelieu.style.display = "none";
	}
	return true;
}


Et tes radio par :

<input type="radio" name="listtype" value="0" onclick="ltype(this.value)" checked />Adresse 
<input type="radio" name="listtype" value="1" onclick="ltype(this.value)" />Nom de lieu
1
progggg Messages postés 296 Date d'inscription vendredi 6 juin 2008 Statut Membre Dernière intervention 11 septembre 2010 23
3 nov. 2009 à 17:18
Tu as essayé avec la propriété style.visibility ?
0
non mais elle n'a pas l'effet recherché...
je ne veux pas que la place prise par la balise soit en transparent quand rien n'est affiché...
0
progggg Messages postés 296 Date d'inscription vendredi 6 juin 2008 Statut Membre Dernière intervention 11 septembre 2010 23
3 nov. 2009 à 17:20
Et qu'est-ce qui ne marche pas ?
0
quand je clique sur un des boutons de radio... rien ne se passe...
0
progggg Messages postés 296 Date d'inscription vendredi 6 juin 2008 Statut Membre Dernière intervention 11 septembre 2010 23
3 nov. 2009 à 17:27
Après test le <tr> réagit bien à la propriété display quant je la change à partir du code pas de pb, j'ai essayé onchange à la place de onclick mais pas de réaction. Je ne pense pas pouvoir faire plus désolé !
0
PARFAIT !

Merci beaucoup !
0