IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

controler si un bouton d'option a ete coché


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 111
    Par défaut controler si un bouton d'option a ete coché
    Bonjour,

    j'ai un formulaire html sur lequel je fais un controle avec javascript. mon formulaire comprend un
    groupe de bouton d'option et je veux m'assurer qu'au moins un a ete cauche avant l'envoi du for
    mulaire.

    voici un bout de code du formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <form name="expedition" ... >
    .
    .
     
    <table width="732" cellspacing="0" cellpadding="5">
    <tr>
    <td width="128">Type de payment</td>
    </tr>
    <tr>
    <td width="128"><label> En compte </label><input type="radio" name="type_pay" value="en compte"></td>
    <td width="138"><label> A destination </label><input type="radio" name="type_pay" value=" à destination"></td>
    <td width="120"><label> Service </label><input type="radio" name="type_pay" value="service"></td>
    <td width="126"><label> Comptant </label><input type="radio" name="type_pay" value="comptant"></td>
    <td width="168"><label> Montant total : </label><input type="text" name="montant" maxlength="7"/></td>
    </tr>
    </table>
    .
    .
    <input type="button" onClick="controle()" name="bouton2" value="enregistrer"/>
    </form>
    voici le la fonction javascript ' controle() '
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    <script language="javascript">
     
    function controle()
    {
    var a=document.expedition.nombord.value;
    var b=document.expedition.nomexp.value;
    var c=document.expedition.nomdes.value;
    var d=document.expedition.type_pay.value;
     
    if (a=="")
    {
    alert(" Entrez un numero de bordereau! ");
    document.expedition.nombord.focus();
    }
     
    else
    if (b=="")
    {
    alert(" Saisissez le nom de l'expediteur! ");
    document.expedition.nombord.focus();
    }
     
    else
    if (c=="")
    {
    alert(" Saisissez le nom du destinataire! ");
    document.expedition.nomdes.focus();
    }
     
    else
    if (d=="")
    {
    alert(" Choisissez un type de payement! ");
    document.expedition.type_pay.focus();
    }
     
    else
    document.expedition.submit();
    }
     
    </script>
    probleme : le formulaire est toujours validé meme si aucune case d'option n'est coché.

    ou est le probleme svp ???

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    sujet maintes fois traité et resolu ... merci de faire une recherche sur le forum ...

    A noter que pour js le value d'un radio est celui dans la balise, pas le value du radio coché d'un même groupe de name ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 111
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    sujet maintes fois traité et resolu ... merci de faire une recherche sur le forum ...
    j'ai modifier ma fonction javascritpt coe suit et ça marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    <script language="javascript">
     
     function controle()
     {
       var a=document.expedition.nombord.value;
       var b=document.expedition.nomexp.value;
       var c=document.expedition.nomdes.value;
     
       var d=document.getElementsByName('type_pay');
       var coche=0;
       	    for (var i=0; i<d.length; i++)
    		 {
              if(!d[i].checked){coche++}
             }
     
     
         if (a=="")
    	    {
              alert(" Entrez un numero de bordereau! "); 
    		  document.expedition.nombord.focus();		
    		} 
     
    	 else 
    	   if  (b=="")
    	    {
              alert(" Saisissez le nom de l'expediteur! "); 
    		  document.expedition.nombord.focus();		
            }
     
    	 else 
    	   if  (c=="")
    	    {
              alert(" Saisissez le nom du destinataire! "); 
    		  document.expedition.nomdes.focus();		
            }
         else 
    	   if  (coche==4)
    	    {
              alert(" Choisissez un type de payement! "); 
    		  document.expedition.type_pay.focus();		
            }
    	 else    
    		  document.expedition.submit();	
     }
     
    </script>
    merci encore !!!

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 111
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    A noter que pour js le value d'un radio est celui dans la balise, pas le value du radio coché d'un même groupe de name ...
    voila mon premier resolu , je reviens avec mon second
    maintenant je veut afficher un <input type="text"/> dans le cas ou le dernier des 4 boutons radio( correspondant a 'comptant') est coché. j'ai ecris pour cela une petite fonction javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <script type="text/javascript">
     
    function act_desact()
    {
        if ( document.getElementsByName('type_pay')[3].checked )
             document.formulaire.montant.disabled=true;
        else
            document.formulaire.montant.disabled=false;
    }
     
    </script>
    sauf que je ne sais pas trs bien ou la placer( dans la balise form, le bouton radio,,,, ) et a quel evenement l'associer(onclick,,,,) ????
    je rappelle mon code html du formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    <form...>
    ..
    .
    <table width="732"  cellspacing="0" cellpadding="5" onKeyPress="act_desact()">
      <tr>
       <td width="128">Type de payment</td>
      </tr>
      <tr>
    	<td width="128"><label> En compte </label><input type="radio" name="type_pay" value="en compte" ></td>
    	<td width="138"><label> A destination </label><input type="radio" name="type_pay" value=" à destination"></td>
    	<td width="120"><label> Service </label><input type="radio" name="type_pay" value="service"></td>
    	<td width="126"><label> Comptant </label><input type="radio" name="type_pay" value="comptant"></td>
    	<td width="168"><label> Montant total : </label><input type="text" name="montant"  maxlength="7"/></td>
        </tr>
    </table>
    .
    .
    </form>
    help me please !!!

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    sur le onmouseup pour un effet immédiat ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 111
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    sur le onmouseup pour un effet immédiat ?
    ok ,, voila ce que j'ai fais et ça ne marche pas !!!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <table width="732"  cellspacing="0" cellpadding="5">
      <tr>
       <td width="128">Type de payment</td>
      </tr>
      <tr>
    	<td width="128"><label> En compte </label><input type="radio" name="type_pay" value="en compte" ></td>
    	<td width="138"><label> A destination </label><input type="radio" name="type_pay" value=" à destination"></td>
    	<td width="120"><label> Service </label><input type="radio" name="type_pay" value="service"></td>
    	<td width="126"><label> Comptant </label><input type="radio" name="type_pay" value="comptant"></td>
    	<td width="168"><label> Montant total : </label><input type="text" name="montant" onMouseUp="act_desact()" maxlength="7"/></td>
        </tr>
    </table>

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    Ben non! Ttu veux verifier les boutons radios lorsque ceux ci sont cliqués, donc le mouseup sur tous les boutons radios qui lancent une fonction qui teste le nombre de radios cochés et afficeh ou non l'input text
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  8. #8
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 111
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    Ben non! Ttu veux verifier les boutons radios lorsque ceux ci sont cliqués, donc le mouseup sur tous les boutons radios qui lancent une fonction qui teste le nombre de radios cochés et afficeh ou non l'input text
    ok , d'abord je reprecise : j'ai 4 options radio ,, et je veux si on choisit la qutrieme option ,,, un champ texte s'affiche.

    donc voila j'ai suivi ta derniere recommandation et ça ne donne tjrs pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    ..
    .
    .
    <table width="732"  cellspacing="0" cellpadding="5">
      <tr>
       <td width="128">Type de payment</td>
      </tr>
      <tr>
    	<td width="128"><label> En compte </label><input type="radio" name="type_pay" value="en compte" onMouseUp="act_desact()"></td>
    	<td width="138"><label> A destination </label><input type="radio" name="type_pay" value=" à destination" onMouseUp="act_desact()"></td>
    	<td width="120"><label> Service </label><input type="radio" name="type_pay" value="service" onMouseUp="act_desact()"></td>
    	<td width="126"><label> Comptant </label><input type="radio" name="type_pay" value="comptant" onMouseUp="act_desact()"></td>
    	<td width="168"><label> Montant total : </label><input type="text" name="montant"  maxlength="7"></td>
        </tr>
    </table>
    .
    .
    .
    t aurais pas une autre solution ????

  9. #9
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 111
    Par défaut
    en fouillant sur internet , j'ai pu finalement pu modifier mon script comme suit
    fonction javascript:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <script type="text/javascript">
    function act_desact()
    {
    if ( document.getElementById('type_cpt').checked )
    document.forms['expedition'].elements['montant'].disabled=false;
    else
    document.expedition.montant.disabled=true;
    }
    </script>
    xhtml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    .
    .
    .
    <table width="732" cellspacing="0" cellpadding="5">
    <tr>
    <td width="128">Type de payment</td>
    </tr>
    <tr>
    <td width="128"><label> En compte </label><input type="radio" name="type_pay" value="en compte" onmouseup="setTimeout(function(){act_desact()},10)" ></td>
    <td width="138"><label> A destination </label><input type="radio" name="type_pay" value=" à destination" onmouseup="setTimeout(function(){act_desact()},10)" ></td>
    <td width="120"><label> Service </label><input type="radio" name="type_pay" value="service" onmouseup="setTimeout(function(){act_desact()},10)" ></td>
    <td width="126"><label> Comptant </label><input type="radio" name="type_pay" id="type_cpt" value="comptant" onmouseup="setTimeout(function(){act_desact()},10)"></td>
    <td width="168"><label> Montant total : </label><input type="text" name="montant" disabled="disabled"> </td>
    </tr>
    </table>
    .
    .
    .
    et ça marche parfaitement. vive javascript ....
    et merci encore pour les Post, a bientot.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. bouton d'option
    Par Le Rebel dans le forum Langage
    Réponses: 1
    Dernier message: 08/02/2006, 13h15
  2. Problème avec les boutons d'options
    Par Le Rebel dans le forum Langage
    Réponses: 3
    Dernier message: 07/02/2006, 12h12
  3. boutons d'option
    Par Djekill dans le forum Access
    Réponses: 6
    Dernier message: 15/11/2005, 16h11
  4. Modifier une requête en fonction de boutons d'option
    Par JahRastafari dans le forum Access
    Réponses: 17
    Dernier message: 15/06/2005, 13h42
  5. [MFC] bouton avec option "accept files"
    Par bigboomshakala dans le forum MFC
    Réponses: 4
    Dernier message: 23/06/2004, 16h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo