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

Résolu
Eminho -  
 Eminho -
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
Configuration: Windows XP
Safari 532.0

4 réponses

  1. Meelas Messages postés 15 Date d'inscription   Statut Membre 7
     
    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
  2. progggg Messages postés 336 Statut Membre 23
     
    Tu as essayé avec la propriété style.visibility ?
    0
    1. Eminho
       
      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
  3. progggg Messages postés 336 Statut Membre 23
     
    Et qu'est-ce qui ne marche pas ?
    0
    1. Eminho
       
      quand je clique sur un des boutons de radio... rien ne se passe...
      0
  4. progggg Messages postés 336 Statut Membre 23
     
    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
    1. Eminho
       
      PARFAIT !

      Merci beaucoup !
      0