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

Bibliothèques & Frameworks Discussion :

Radio button et évènement observe


Sujet :

Bibliothèques & Frameworks

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2002
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 10
    Par défaut Radio button et évènement observe
    Bonjour,

    J'espère que quelqu'un pourra m'aider car je ne n'arrive pas à faire ce que je veux. J'ai essayé pleins de trucs mais en vain.

    Voilà mon problème :
    J'ai un formulaire avec :
    - 2 inputs text où l'utilisateur saisi une 'date de début' et une 'date de fin'
    - 2 inputs radio qui ne sont pas cochés par défaut

    Voici le code html
    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
     
    <form action="{$smarty.server.REQUEST_URI}" method="post" class="clearfix">
         <p class="clearfix"><span class="text-right">Période</span>
              <input class="dates" name="agd_date_debut" type="text" id="agd_date_debut" value=""/>
              <input class="dates" name="agd_date_fin" type="text" id="agd_date_fin" value="" />
              <span class="zoneradio" style="margin-left: 6px">
              <input type="radio" name="periode" value="j7" id="j7" {if $periode eq 'j7'}checked="checked"{/if}/>
                  <label for="j7">J+7 jours</label>
                  </span> <span class="zoneradio">
                  <input type="radio" name="periode" value="j31" id="j31"{if $periode eq 'j31'}checked="checked"{/if}/>
                  <label for="j31">J+31 jours</label>
                  </span>
         </p>
         <input type="submit" class="bouton-filtrer" value="Filtrer les resultats" name="Submit"/>
    </form>
    Je surveille mes inputs 'date de début' et 'date de fin' et si je clique dans l'un d'eux pour saisir une date alors les 2 boutons 'j7' et 'j31' sont décochés.
    Voici le code javascript :
    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
     
    <script language="JavaScript" type="text/javascript">
    var initFormAgenda = function() {	
         if(!$F('agd_date_debut')) $('agd_date_debut').value = 'Date de début';
         if(!$F('agd_date_fin')) $('agd_date_fin').value = 'Date de fin';
     
          $('agd_date_debut').observe('focus',function(e){ 
               $('j7').checked = false;$('j31').checked = false;
               if(!$F('agd_date_debut').match(/^[0-9]{1,2}\/[0-9]{1,2}\/[0-9]{2,4}$/)) $('agd_date_debut').value = '';
          });
     
         $('agd_date_debut').observe('blur',function(e){
              if(!$F('agd_date_debut').match(/^[0-9]{1,2}\/[0-9]{1,2}\/[0-9]{2,4}$/)) $('agd_date_debut').value = 'Date de début'; });
     
         $('agd_date_fin').observe('focus',function(e){
              $('j7').checked = false;$('j31').checked = false;
              if(!$F('agd_date_fin').match(/^[0-9]{1,2}\/[0-9]{1,2}\/[0-9]{2,4}$/)) $('agd_date_fin').value = '';
         });
     
         $('agd_date_fin').observe('blur',function(e){ 
              if(!$F('agd_date_fin').match(/^[0-9]{1,2}\/[0-9]{1,2}\/[0-9]{2,4}$/)) $('agd_date_fin').value = 'Date de fin'; 
         });
     
         $('periode').observe('click', function(e){
              alert(Event.element(e).innerHTML);  
         });
    }
    document.observe('dom:loaded',initFormAgenda);
    </script>
    Jusque là tout marche comme il faut.
    Par contre, je voudrait observer mais boutons radio et si l'un d'eux est cliqué alors mes 2 inputs text 'date de debut' et 'date de fin' sont remis à zéro.

    Quelqu'un a t'il une idée ou une piste ?

    Merci d'avance
    Isabelle

  2. #2
    Membre Expert
    Avatar de gwyohm
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Par défaut
    Citation Envoyé par ovdz Voir le message
    $('periode').observe('click', function(e){
    alert(Event.element(e).innerHTML);
    });
    periode n'est pas un id mais un name, ca ne peut donc pas marcher...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $('j31').observe('click', function(e){
      alert("j31");  
    });
     
    $('j7').observe('click', function(e){
      alert("j7");  
    });

Discussions similaires

  1. radio button
    Par Smash34 dans le forum Langage
    Réponses: 1
    Dernier message: 23/02/2006, 11h47
  2. Réponses: 3
    Dernier message: 16/12/2005, 16h35
  3. [débutante] Radio button
    Par monia dans le forum MFC
    Réponses: 1
    Dernier message: 01/07/2005, 11h15
  4. [JTree] Label + Textfield, Radio buttons, ..
    Par leup dans le forum Composants
    Réponses: 2
    Dernier message: 31/01/2005, 10h40
  5. value de radio button indéfinie (undefined)
    Par noinneh dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 28/12/2004, 13h25

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