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 :

controle de date(superieur ou inférieur)


Sujet :

JavaScript

  1. #1
    Membre éclairé Avatar de PAYASS59
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    755
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2005
    Messages : 755
    Par défaut controle de date(superieur ou inférieur)
    bonjour,

    j'ai dans un formulaire deux champs dates :

    exemple :
    date1 et date2
    le format est 01-01-2006

    je voudrai lors de la validation de mon formulaire faire un controle javascript pour verifier que date1 est < à date2

    mais je ne sais pas comment faire ca merci d'avance

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 224
    Par défaut
    Comme aujourd'hui je suis de nonne humeur, je te tappe le code.

    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
     
    var date1 = date1.split('-');
    var date2 = date2.split('-');
     
    if(date2[3] < date1[3])
     alert('PAS BON!');
    else if(date2[3] == date1[3])
     {
     if(date2[2] < date1[2])
      alert('PAS BON!');
     else if(date2[2] == date1[2])
      {
      if(date2[1] < date1[1])
       alert('PAS BON!');
      }
     }
    Bon, c'est un peu rapide, je l'ai pas testé et pas optimisé.

    Repasse si c'est pas bon

    Au fait, c'est bien JJ-MM-AAAA ?

  3. #3
    Membre éclairé Avatar de PAYASS59
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    755
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2005
    Messages : 755
    Par défaut
    ce qui ferait pour moi
    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
     
    var date1 = document.choix_materiel.date1.split('-');
    var date2 = document.choix_materiel.date2.split('-');
    if(date2[3] < date1[3])
     alert('PAS BON!');
    else if(date2[3] == date1[3])
     {
     if(date2[2] < date1[2])
      alert('PAS BON!');
     else if(date2[2] == date1[2])
      {
      if(date2[1] < date1[1])
       alert('PAS BON!');
      }
     }

  4. #4
    Expert confirmé

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut
    C'est dans la en utilisant les objets Date de javascript:

    http://javascript.developpez.com/faq...dates.comparer

    IL ne te reste plus qu'à initialiser correctement ces objets Date.

  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
    l'idée du split est à poursuivre ...
    en fait il faut faire un split puis un reverse ...
    ensuite les deux dates sont directement comparables ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     var date1 = document.choix_materiel.date1.split('-').reverse().join('');
    var date2 = document.choix_materiel.date2.split('-').reverse().join('');
    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 éclairé Avatar de PAYASS59
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    755
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2005
    Messages : 755
    Par défaut
    je continue de tester mais excusez moi les gars mais je connais strictement rien au jascript et je fais des efforts

  7. #7
    Membre éclairé Avatar de PAYASS59
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    755
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2005
    Messages : 755
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var date1 = document.choix_materiel.date_retrait.split('-').reverse().join('');
    var date2 = document.choix_materiel.date_retour.split('-').reverse().join('');
    if(date1<date2)
    {
    window.alert("erreur dans les dates");
       return false;
    }

    je fais ca mais il y a rien qui se passe et j'ai aucune erreur

  8. #8
    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 c'est que tu te trompes dans le sens de comparaison et que tu ne rentres pas dasn le teste ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <script type='text/javascript'>
    var date1="01-01-2005"
    var date2="01-01-2006"
    var date1 = date1.split('-').reverse().join('');
    var date2 = date2.split('-').reverse().join('');
     
     
    if(date1<date2)
    {
    alert("erreur dans les dates");
     
    }
    </script>
    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 !

  9. #9
    Membre éclairé Avatar de PAYASS59
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    755
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2005
    Messages : 755
    Par défaut
    j'ai fait ton test la ca marche pas de problème

    par contre quand je fais ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    var date1=document.choix_materiel.date_retrait;
    var date2=document.choix_materiel.date_retour;
    var date1 = date1.split('-').reverse().join('');
    var date2 = date2.split('-').reverse().join('');
     
    if(date1<date2)
    {
    alert("erreur dans les dates");
    return false;
    }
    plus rien

    ca c correct ou je suis trop nul

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var date1=document.choix_materiel.date_retrait;
    var date2=document.choix_materiel.date_retour;

  10. #10
    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
    .value ?
    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 !

  11. #11
    Membre éclairé Avatar de PAYASS59
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    755
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2005
    Messages : 755
    Par défaut
    ca ca marche pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    var date1=document.choix_materiel.date_retrait.value;
    var date2=document.choix_materiel.date_retour.value;
    var date1 = date1.split('-').reverse().join('');
    var date2 = date2.split('-').reverse().join('');
     
    if(date1<date2)
    {
    alert("erreur dans les dates");
    return false;
    }

  12. #12
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    var date1=document.forms(['choix_materiel'].elements['date_retrait'].value;
    var date2=document.forms(['choix_materiel'].elements['date_retrait'].value;
    var date1 = date1.split('-').reverse().join('');
    var date2 = date2.split('-').reverse().join('');
     
    if(date1<date2)
    {
    alert("erreur dans les dates");
    return false;
    }
    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 !

  13. #13
    Membre éclairé Avatar de PAYASS59
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    755
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2005
    Messages : 755
    Par défaut
    euh ca ne marchait toujours pas

    j'ai modifier un peu mais ca marche toujours as

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    var date1=document.forms['choix_materiel'].elements['date_retrait'].value;
    var date2=document.forms['choix_materiel'].elements['date_retour'].value;
    var date1 = date1.split('-').reverse().join('');
    var date2 = date2.split('-').reverse().join('');
    if(date1<date2)
    {
    alert("erreur dans les dates");
    return false;
    }

  14. #14
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var date1=document.forms['choix_materiel'].elements['date_retrait'].value;
    alert(date1)
    àprès c'est que ton code html n'est pas bon ou que tu as des names et pas des id ou que tu as un souci d'instanciation ...
    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 !

  15. #15
    Membre éclairé Avatar de PAYASS59
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    755
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2005
    Messages : 755
    Par défaut
    je comprends pas j' ai fait ton test ca marche

    [CODE]
    var date1=document.forms['choix_materiel'].elements['date_retrait'].value;
    alert(date1)
    [/
    CODE]

    alors j'essaie de faire en mettant le test de controle a = et toujours rien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var date1=document.forms['choix_materiel'].elements['date_retrait'].value;
    var date1=document.forms['choix_materiel'].elements['date_retour'].value;
    var date1 = date1.split('-').reverse().join('');
    var date2 = date2.split('-').reverse().join('');
    if(date1=date2)
    {
    alert("erreur dans les dates");
    return false;
    }

  16. #16
    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
    parceque la comparaison d'égalité se fait avec "==" et pas "=" tout court ...
    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 !

  17. #17
    Membre éclairé Avatar de PAYASS59
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    755
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2005
    Messages : 755
    Par défaut
    je comprends rien ca prend la tete ca ne marche pas

    voila mon code pus mon html si ca peut aider

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var date1=document.forms['choix_materiel'].elements['date_retrait'].value;
    var date1=document.forms['choix_materiel'].elements['date_retour'].value;
    var date1 = date1.split('-').reverse().join('');
    var date2 = date2.split('-').reverse().join('');
    if(date1==date2)
    {
    alert("erreur dans les dates");
    return false;
    }


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <table align="center" border="1" width="">
      <tr>
       <td class="ecriture">date du retrait : <input type='text'  name='date_retrait' id="date_retrait" readonly value='' size='10' class='chiffre'>&nbsp;<a href="javascript:NewCal('date_retrait','ddmmyyyy',false,24)"><img src='Images/cal.gif' width='16' height='16' border='0' alt='choisir une date'></a>&nbsp;<img src='Images/croix.gif' onClick="document.choix_materiel.date_retrait.value='';" title='supprimer la sélection'></td>
       <td class="ecriture">heure du retrait : <input type="text" name="heure_retrait"  size="2" maxlength="2" class='chiffre'>h<input type="text" name="min_retrait" size="2" class='chiffre' maxlength="2">min<input type="hidden" name="sec_retrait" size="2" maxlength="2" value='00'>&nbsp;&nbsp;<span style="color:#999999">(hh:mm)</span> </td>
      </tr>
      <tr>
       <td class="ecriture">date de retour :&nbsp;&nbsp;<input type='text'  name='date_retour' id="date_retour" readonly value='' size='10' class='chiffre'>&nbsp;<a href="javascript:NewCal('date_retour','ddmmyyyy',false,24)"><img src='Images/cal.gif' width='16' height='16' border='0' alt='choisir une date'></a>&nbsp;<img src='Images/croix.gif' onClick="document.choix_materiel.date_retour.value='';" title='supprimer la sélection'></td>
       <td class="ecriture">heure du retour  :&nbsp;&nbsp;<input type="text" name="heure_retour" size="2" maxlength="2" class='chiffre'>h<input type="text" class='chiffre' name="min_retour" size="2" maxlength="2">min<input type="hidden" name="sec_retour" size="2" maxlength="2" value='00'>&nbsp;&nbsp;<span style="color:#999999">(hh:mm)</span>  </td>
      </tr>
     </table>

  18. #18
    Membre éclairé Avatar de PAYASS59
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    755
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2005
    Messages : 755
    Par défaut
    troooop nul de chez trop null

    deuxieme ligne du code c var date2 et non var date1


    encore merci pour ton aide

  19. #19
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 224
    Par défaut
    Trop fort le coup du reverse et du join!

    Je ne connaissais pas du tout. (je suis pas trop JS plus PHP )

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

Discussions similaires

  1. [Dates] Controle sur date
    Par Fabouney dans le forum Langage
    Réponses: 3
    Dernier message: 21/09/2006, 12h35
  2. [Dates] date "superieur a "
    Par taka10 dans le forum Langage
    Réponses: 2
    Dernier message: 25/07/2006, 13h13
  3. Controle de dates dans ACCESS 2003
    Par Invité dans le forum Access
    Réponses: 2
    Dernier message: 26/05/2006, 13h29
  4. Controle champs Date
    Par letudiant1 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/04/2006, 14h33
  5. controle champs date
    Par flo456 dans le forum ASP
    Réponses: 12
    Dernier message: 07/04/2006, 13h04

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