Bouton radio et javascript

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Bouton radio et javascript

par Patriboom » 13 mai 2008, 06:40

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:

par lux » 12 mai 2008, 16:56

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:

par Patriboom » 12 mai 2008, 16:35

Pour ton checked , tu insères simplement une commande dans ta routine:

Code : Tout sélectionner

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

Bouton radio et javascript

par lux » 12 mai 2008, 14:18

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