Page 1 sur 1

Bouton radio et javascript

Posté : 12 mai 2008, 14:18
par lux
Coucou tout le monde. J'ai deux boutons radio, qui vont cacher/afficher 2 divs différentes en fonction de la selection.

Pour l'instant j'ai ça :
Mode FTP : <input type="radio" name="choix[]"  value="ftp" onclick="javascript:hide('upload');afficher('ftp');return(false)">
Mode Upload : <input type="radio" name="choix[]" value="upload" onclick="javascript:hide('ftp');afficher('upload');return(false)">
Et comme code javascript j'ai :
function afficher(baliseId) 
  {
  if (document.getElementById && document.getElementById(baliseId) != null) 
    {
    	document.getElementById(baliseId).style.visibility='visible';
    	document.getElementById(baliseId).style.display='block';
    }
  }

function hide(baliseId) 
  {
  	if (document.getElementById && document.getElementById(baliseId) != null) 
    	{
    		document.getElementById(baliseId).style.visibility='hidden';
    		document.getElementById(baliseId).style.display='none';
    	}
   }
Alors, j'arrive donc à cacher ou à afficher les div comme il faut. Par contre le checked="checked" ne suit pas le mouvement. Si je click sur un des radio pour changer l'affichage, l'ancien reste sélectionné, même si l'affichage et le masquage des divs fonctionnent bien.

Une piste ?

Merci d'avance 8-)


P.S. le forum a changé le : en &#058 après le javascript dans mon code html, donc pas de panique pour ça :P

Posté : 12 mai 2008, 16:35
par Patriboom
Pour ton checked , tu insères simplement une commande dans ta routine:

Code : Tout sélectionner

document.NomFormulaire.elements[NumeroOuNomduBouton].checked = true;

Posté : 12 mai 2008, 16:56
par lux
Finalement j'ai trouvé encore plus simple.

J'ai enlevé le :
return(false);
à la fin des appels javascript. Et hop le tour est joué les boutons sont "checké" correctement.

Meme pas besoin de changer le "checked" manuellement à la main. Merci à Patriboom tout de même qui m'avait donné une piste.

Par contre pourquoi le fait d'enlever le return a la fin change-t'il qqch, je ne sais pas ... ? :oops:

Posté : 13 mai 2008, 06:40
par Patriboom
Simplement parce que le click ne provoque plus de retour forcé (return) d'un résultat imposé (false). La valeur retournée est celle de la réalité.

Je pourrais bien mettre une visage gêné aussi pour ma réponse ... je n'avais pas remarqué ce "return false", ne m'étant attardé qu'au gros bloc de java. :oops: