Griser un champ a partir des cases à cocher

beaf Messages postés 262 Date d'inscription   Statut Membre Dernière intervention   -  
JooS Messages postés 2468 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je voudrais griser un champ de mon formulaire après avoir cocher une case à cocher ...
voici un exemple de mon formulaire.


<form name="coti">
<label>
<input type="radio" CHECKED name="zmodePayement" value="espece" id="zmodePayement_0" />
Espèce
</label>

<label>
<input type="radio" name="zmodePayement" value="cheque" id="zmodePayement_1" />
Chèque
</label>

<label>Montant :
<input type="text" name="zNcheque" id="zNcheque" />
</label>
</form>

5 réponses

beaf Messages postés 262 Date d'inscription   Statut Membre Dernière intervention   1
 
Merci JooS ! ça marche
1
bodry24 Messages postés 86 Date d'inscription   Statut Membre Dernière intervention   7
 
Salut,
J'ai un petit blm avec le code js poster:
function griser() {
  if(document.getElementById('zNcheque').disabled) document.getElementById('zNcheque').disabled = false;
  else document.getElementById('zNcheque').disabled = true;
}

Et l'appel aussi qui se fait sur l'evenement onclick(). De ce fait si je click 2 fois sur un radio l'état du champs texte change deux fois.
Je te propose d'améliorer le script en passant un variable comme ceci
function griser(operation){
    if(operation=="cacher"){
           document.getElementById('zNcheque').disabled = true;
    }
    else{
          document.getElementById('zNcheque').disabled = false;
    }
}

Et pour le html;
<label>
    <input type="radio" onclick="griser('afficher');" CHECKED name="zmodePayement" value="espece" id="zmodePayement_0" />
Espèce
  </label>

  <label>
    <input type="radio" onclick="griser('cacher');" name="zmodePayement" value="cheque" id="zmodePayement_1" />
Chèque
  </label>

Je te conseil d'aller faire un tour sur www.toutjavascript.com Il y a tout ce qu'il te faut pour apprendre javascript.
N'oublie pas de marquer le sujet comme résolu si tu es satisfait.
1
JooS Messages postés 2468 Date d'inscription   Statut Membre Dernière intervention   228
 
Lol, c'est juste bodry24, j'ai pas eu le temps de tester ... :)
0
bodry24 Messages postés 86 Date d'inscription   Statut Membre Dernière intervention   7
 
Salut,
si je comprends bien u veux griser(bloquer) le champs montant si on coche le type chèque. Ajouter a tes "radio" une fonction js qui désactive ou active le champs montant en fonction du type de payement choisi.
ex: <input type="radio" onchange="griser();"name="zmodePayement" value="cheque" id="zmodePayement_1>

Ici griser() représente la fonction js
0
beaf Messages postés 262 Date d'inscription   Statut Membre Dernière intervention   1
 
Exactement, mais moi je cherche quelqu'un qui pourra m'aider sur le code de la fonction griser()...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JooS Messages postés 2468 Date d'inscription   Statut Membre Dernière intervention   228
 
Salut ...

La fonction griser dépend du code html, mais en prenant l'exemple que t'as poster ... ça donnerai ça ...

.JavaScript
function griser() {
  if(document.getElementById('zNcheque').disabled) document.getElementById('zNcheque').disabled = false;
  else document.getElementById('zNcheque').disabled = true;
}

.html
<form name="coti">
  <label>
    <input type="radio" onclick="griser();" CHECKED name="zmodePayement" value="espece" id="zmodePayement_0" />
Espèce
  </label>

  <label>
    <input type="radio" onclick="griser();" name="zmodePayement" value="cheque" id="zmodePayement_1" />
Chèque
  </label>

  <label>Montant :
    <input type="text" name="zNcheque" id="zNcheque" />
  </label> 
</form>
0