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 :

Script et utilisation


Sujet :

JavaScript

  1. #1
    Membre du Club Avatar de mjs21
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2008
    Messages : 85
    Points : 59
    Points
    59
    Par défaut Script et utilisation
    Bonjour,

    J'ai trouvé sur internet un script qui correspond parfaitement à mes attentes, seulement je ne sais pas comment appeler ce script dans mon application

    Si quelqu'un peut m'aider.. je le remercie par avance


    Le script :
    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
     
    <script language="javascript" type="text/javascript">
    function DonnerFocus(nom) {
       document.forms[0].elements[nom].focus();
    }
    function datecomp(datesaisie,datecompar){
       var datedebut=datesaisie.value;
       var datefin=datecompar;
       //vérification du format -  si la date est saisie je commence le travail, ce si se termine à la fin
       if (datedebut!="") {
          if (datefin=='1'){
             //definition des variables champs pour reprendre le focus au bon endroit
             var rfocus="date1";
             }
             else {
             var rfocus="date2";
             }
          //véfification du format de date et +
          if (!verifdate(datedebut)) {
             alert("Attention soit la date n'est pas correcte, soit elle n'est pas au format JJ/MM/AAAA");DonnerFocus(rfocus);return false;
          }
       //création d'un tableau ou je range la date début dans trois cases, si il y a des zero je les supprimme
       deb = new Array(3); 
       if (datedebut.substring(0,1)=="0"){
          deb[1]=parseInt(datedebut.substring(1,2));
          }
       else {
          deb[1]=parseInt(datedebut.substring(0,2));
          }
       if (datedebut.substring(3,4)=="0"){
          deb[2]=parseInt(datedebut.substring(4,5));
          }
       else {
          deb[2]=parseInt(datedebut.substring(3,5));
          }
       deb[3]=parseInt(datedebut.substring(6,10));
     
       //si la datefin contient 1 on vient du formulaire dateresadebut donc on compare avec la date du jour
       //dans ce cas on récupère un format de date javascript, on le transforme et on le range dans un tableau
       //je ne transforme pas la variable datfin que je réutilise plus loin
       if (datefin=='1') {
          datef=new Date();
          fin = new Array(3);
          fin[1]=datef.getDate();
          fin[2]=datef.getMonth()+1;
          fin[3]=datef.getYear();
          var message="la date de réservation ne peut être infèrieur à la date du jour";
       }
       //dans l'autre cas, on arrive du formulaire par dateresafin et datecompar=dateresadebut
       //on récupère la dateresadebut et on la range aussi dans un tableau mais comme la datedébut
       else {
          fin = new Array(3); 
          if (datefin.substring(0,1)=="0"){
             fin[1]=parseInt(datefin.substring(1,2));
          }
          else {
             fin[1]=parseInt(datefin.substring(0,2));
          }
          if (datefin.substring(3,4)=="0"){
             fin[2]=parseInt(datefin.substring(4,5));
          }
          else {
             fin[2]=parseInt(datefin.substring(3,5));
             }
          fin[3]=parseInt(datefin.substring(6,10));
          var message="la date de fin de réservation ne peut être infèrieure à la date de début";
       }
     
       //comparaison des dates 
     
          if (deb[3]<fin[3]) {
             alert(message);DonnerFocus(rfocus);return false;
             }
          else {
             if ((deb[3]== fin[3]) && (deb[2]<fin[2])){
                alert(message);DonnerFocus(rfocus);return false;
             }
             else {
                if ((deb[3]== fin[3]) && (deb[2]==fin[2]) && (deb[1]<fin[1])){
                alert(message);DonnerFocus(rfocus);return false;
                }
             }
          }
          //si la date de réservation dépasse un an on demande une confirmation
          if (datefin!='1'){
             if ((deb[3]-fin[3])>1){
                if (confirm("attention, vous avez réservé pour plus d'un an, confirmer ?")) {
                return true;
                }
                else {
                   return false;
                }
             }
          }
       return true;
       }
    }
     
     // Cette fonction vérifie le format JJ/MM/AAAA saisi et la validité de la date.
     // Le séparateur est défini dans la variable separateur
     
     function verifdate(d) {
      var dateaverifier=d
      // rangement de la date dans des variables
      if (dateaverifier.substring(0,1)=="0"){
             var j=parseInt(dateaverifier.substring(1,2));
          }
          else {
             var j=parseInt(dateaverifier.substring(0,2));
          }
          if (dateaverifier.substring(3,4)=="0"){
             var m=parseInt(dateaverifier.substring(4,5));
          }
          else {
             var m=parseInt(dateaverifier.substring(3,5));
             }
          var a=parseInt(dateaverifier.substring(6,10));
       //si la longueur est différent de 10 , problème
         if (dateaverifier.length != 10) {
             return false;
       }
       //les caratères / ne sont pas aux endroits attendus
       else {
          if((dateaverifier.charAt(2) != '/') && (dateaverifier.charAt(5) != '/')) {
             return false;
          }
       }
       //l'année n'est pa un chiffre
       if (isNaN(a)) {
          return false;
        }
       //le mois n'est pas un chiffre ou n'est pas compris entre 0 et12
         if ((isNaN(m))||(m<1)||(m>12)) {
          return false;
        }
       //test si il s'agit d'une année bissextile pour accepter le 29/02
       if (((a % 4)==0 && (a % 100)!=0) || (a % 400)==0){
             if ((isNaN(j)) || ((m!=2) && ((j<1)||(j>31))) || ((m==2) && ((j<1)||(j>29)))) {
                return false;
            }
       }
        else {
             if ((isNaN(j)) || ((m!=2) && ((j<1)||(j>31))) || ((m==2) && ((j<1)||(j>28)))){
             return false;
          }
       }
       return true;
    }
     
    //cette fonction test si caractères numériques
    function IsNumberString(NumStr) 
    {var regEx=/^[0-9]+$/; 
    var ret=false; 
    if (regEx.test(NumStr)) ret=true; 
    return ret; 
    } 
    </script>
    Ma partie 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
     
    <form name="reservation" method="post" action="modif_dates.php?mod=1&num=<? echo $num;?>">
    <p>
      Date d&eacute;but :
      <input type="text" onclick="ds_sh(this);" readonly="readonly" title="Date de debut" name="datedeb" onClick="" value="<? echo $datedeb;?>"/>
    </p>
    <p>
     Date fin : <input type="text" onclick="ds_sh(this);" readonly="readonly" title="Date de fin" name="datefin" onClick="" value="<? echo $datefin;?>"/>
    </p>
    <p>
    	<input type="submit" name="Submit" value="Modifier" title="Enregistrer votre demande"/>
    	<input type="button" name="redirection" value="Annuler" onClick="javascript:location.replace('liste_prets.php');"/>
    </p>
    </form>

    merci beaucoup par avance !!!


    Emmanuel

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Au delà d'être un script, c'est surtout un ensemble de fonctions, il faut donc définir quelle fonction tu veux appeler et à quel moment...

  3. #3
    Membre habitué
    Inscrit en
    Mai 2005
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 130
    Points : 134
    Points
    134
    Par défaut
    Y a juste à mettre ça dans des fichiers html et javascript...
    Quel est ton problème?

  4. #4
    Membre du Club Avatar de mjs21
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2008
    Messages : 85
    Points : 59
    Points
    59
    Par défaut
    Citation Envoyé par MeDioN Voir le message
    Y a juste à mettre ça dans des fichiers html et javascript...
    Quel est ton problème?
    Bah comment je definis le nom de mon formulaire et de mes 2 champs dans la fonction

  5. #5
    Membre habitué
    Inscrit en
    Mai 2005
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 130
    Points : 134
    Points
    134
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function DonnerFocus(nom) {
       document.forms[0].elements[nom].focus();
    }
    =>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function DonnerFocus(nom) {
       document.forms[' nom de ton formulaire'].elements[nom].focus();
    }
    Ou bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function DonnerFocus(id) {
      documentGetElementById('id de ton élément').focus();
    }
    Pour les autres fonctions tu passes directement la valeur comme paramètre...

    Tu peux préciser ce que tu arrives pas à faire?

  6. #6
    Membre habitué
    Inscrit en
    Mai 2005
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 130
    Points : 134
    Points
    134
    Par défaut
    Essaie ça (en gras les ajouts)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <form name="reservation" method="post" action="modif_dates.php?mod=1&num=<? echo $num;?>" onsubmit="datecomp(document.getElementById('datedeb').value,document.getElementById('datefin').value);">
    <p>
      Date d&eacute;but :
      <input type="text" onclick="ds_sh(this);" readonly="readonly" title="Date de debut" id="datedeb" name="datedeb" value="<? echo $datedeb;?>"  />
    </p>
    <p>
     Date fin : <input type="text" onclick="ds_sh(this);" readonly="readonly" title="Date de fin" id="datefin" name="datefin"  value="<? echo $datefin;?>" />
    </p>
    <p>
    	<input type="submit" name="Submit" value="Modifier" title="Enregistrer votre demande"/>
    	<input type="button" name="redirection" value="Annuler" onClick="javascript:location.replace('liste_prets.php');"/>
    </p>
    </form>

  7. #7
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      Date d&eacute;but :
      <input type="text" onclick="ds_sh(this);" readonly="readonly" title="Date de debut" name="datedeb" onChange="verifdate(this.value)" value="<? echo $datedeb;?>"/>
    </p>
    <p>
     Date fin : <input type="text" onclick="ds_sh(this);" readonly="readonly" title="Date de fin" name="datefin" onChange="verifdate(this.value)" value="<? echo $datefin;?>"/>
    Je pense que c'est susceptible de correspondre à ton besoin (vérification de la date)

    EDIT
    J'ai aussi viré le 2e onclick sur chaque input...

  8. #8
    Membre habitué
    Inscrit en
    Mai 2005
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 130
    Points : 134
    Points
    134
    Par défaut
    Nan, je pense qu'il faut vérifier au moment de valider le formulaire, et comparer les dates de début et de fin en plus de la validité de chacune.
    D'où le onsubmit global sur le form plutôt que les onchange individuels.

    (par contre pourquoi readonly?)

    (teste et dis nous)

  9. #9
    Membre du Club Avatar de mjs21
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2008
    Messages : 85
    Points : 59
    Points
    59
    Par défaut
    J'ai trouvé une autre info, apparement, il faut utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onblur="Javascript:datecomp(this,'1')
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onblur="Javascript:datecomp(this,document.formul.date1.value);"
    Dans les deux formulaires celà marche quand j'utilise le 1er :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onblur="Javascript:datecomp(this,'1')
    cela verifie bien si la date saisie est inférieure à celle du jour par contre la comparaison entre les deux dates ne fonctionne pas on dirait qu'il ne reconnait pas mon champ datefin, meme en les nommant date1 et date2

  10. #10
    Membre habitué
    Inscrit en
    Mai 2005
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 130
    Points : 134
    Points
    134
    Par défaut
    Surtout pas, sinon il y aura une alerte pour dire que la date est fausse à chaque fois que l'utilisateur quitte le champ, ça devient vite super pénible.

    Pourquoi ne testes tu pas ce que je t'ai donné avec le onsubmit et les id?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <form name="reservation" method="post" action="modif_dates.php?mod=1&num=<? echo $num;?>" onsubmit="datecomp(document.getElementById('datedeb').value,document.getElementById('datefin').value);">
    <p>
      Date d&eacute;but :
      <input type="text" onclick="ds_sh(this);" readonly="readonly" title="Date de debut" id="datedeb" name="datedeb" value="<? echo $datedeb;?>"  />
    </p>
    <p>
     Date fin : <input type="text" onclick="ds_sh(this);" readonly="readonly" title="Date de fin" id="datefin" name="datefin"  value="<? echo $datefin;?>" />
    </p>
    <p>
    	<input type="submit" name="Submit" value="Modifier" title="Enregistrer votre demande"/>
    	<input type="button" name="redirection" value="Annuler" onClick="javascript:location.replace('liste_prets.php');"/>
    </p>
    </form>
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function datecomp(datesaisie,datecompar){
       var datedebut=datesaisie; (=> vire le .value)
       var datefin=datecompar;

  11. #11
    Membre du Club Avatar de mjs21
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2008
    Messages : 85
    Points : 59
    Points
    59
    Par défaut
    Citation Envoyé par MeDioN Voir le message
    Surtout pas, sinon il y aura une alerte pour dire que la date est fausse à chaque fois que l'utilisateur quitte le champ, ça devient vite super pénible.

    Pourquoi ne testes tu pas ce que je t'ai donné avec le onsubmit et les id?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <form name="reservation" method="post" action="modif_dates.php?mod=1&num=<? echo $num;?>" onsubmit="datecomp(document.getElementById('datedeb').value,document.getElementById('datefin').value);">
    <p>
      Date d&eacute;but :
      <input type="text" onclick="ds_sh(this);" readonly="readonly" title="Date de debut" id="datedeb" name="datedeb" value="<? echo $datedeb;?>"  />
    </p>
    <p>
     Date fin : <input type="text" onclick="ds_sh(this);" readonly="readonly" title="Date de fin" id="datefin" name="datefin"  value="<? echo $datefin;?>" />
    </p>
    <p>
    	<input type="submit" name="Submit" value="Modifier" title="Enregistrer votre demande"/>
    	<input type="button" name="redirection" value="Annuler" onClick="javascript:location.replace('liste_prets.php');"/>
    </p>
    </form>
    C'est vrai mais celà ne laisse pas la possibilité d'erreurs j'ai tester mais celà ne m'affiche aucun message

  12. #12
    Membre habitué
    Inscrit en
    Mai 2005
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 130
    Points : 134
    Points
    134
    Par défaut
    As tu bien changé le

    function datecomp(datesaisie,datecompar){
    var datedebut=datesaisie;
    var datefin=datecompar;

    En enlevant le ".value"
    et as tu bien recharger sans cache?

    Chez moi ça marche nickel avec ton formulaire.

  13. #13
    Membre habitué
    Inscrit en
    Mai 2005
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 130
    Points : 134
    Points
    134
    Par défaut
    Code complet

    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    <html>
     
    <body>
     
    <script language="javascript" type="text/javascript">
    function DonnerFocus(id) {
       document.getElementById(id).focus();
    }
    function datecomp(datesaisie,datecompar){
       var datedebut=datesaisie;
       var datefin=datecompar;
       //vérification du format -  si la date est saisie je commence le travail, ce si se termine à la fin
       if (datedebut!="") {
          //véfification du format de date et +
          if (!verifdate(datedebut)) {
             alert("Attention soit la date de début n'est pas correcte, soit elle n'est pas au format JJ/MM/AAAA");DonnerFocus("datedeb");return false;
          }
    	  if (!verifdate(datefin)) {
             alert("Attention soit la datede fin n'est pas correcte, soit elle n'est pas au format JJ/MM/AAAA");DonnerFocus("datefin");return false;
          }
       //création d'un tableau ou je range la date début dans trois cases, si il y a des zero je les supprimme
       deb = new Array(3); 
       if (datedebut.substring(0,1)=="0"){
          deb[1]=parseInt(datedebut.substring(1,2));
          }
       else {
          deb[1]=parseInt(datedebut.substring(0,2));
          }
       if (datedebut.substring(3,4)=="0"){
          deb[2]=parseInt(datedebut.substring(4,5));
          }
       else {
          deb[2]=parseInt(datedebut.substring(3,5));
          }
       deb[3]=parseInt(datedebut.substring(6,10));
     
       //si la datefin contient 1 on vient du formulaire dateresadebut donc on compare avec la date du jour
       //dans ce cas on récupère un format de date javascript, on le transforme et on le range dans un tableau
       //je ne transforme pas la variable datfin que je réutilise plus loin
       if (datefin=='1') {
          datef=new Date();
          fin = new Array(3);
          fin[1]=datef.getDate();
          fin[2]=datef.getMonth()+1;
          fin[3]=datef.getYear();
          var message="la date de réservation ne peut être infèrieur à la date du jour";
       }
       //dans l'autre cas, on arrive du formulaire par dateresafin et datecompar=dateresadebut
       //on récupère la dateresadebut et on la range aussi dans un tableau mais comme la datedébut
       else {
          fin = new Array(3); 
          if (datefin.substring(0,1)=="0"){
             fin[1]=parseInt(datefin.substring(1,2));
          }
          else {
             fin[1]=parseInt(datefin.substring(0,2));
          }
          if (datefin.substring(3,4)=="0"){
             fin[2]=parseInt(datefin.substring(4,5));
          }
          else {
             fin[2]=parseInt(datefin.substring(3,5));
             }
          fin[3]=parseInt(datefin.substring(6,10));
          var message="la date de fin de réservation ne peut être infèrieure à la date de début";
       }
     
       //comparaison des dates 
     
          if (deb[3]<fin[3]) {
             alert(message);DonnerFocus(rfocus);return false;
             }
          else {
             if ((deb[3]== fin[3]) && (deb[2]<fin[2])){
                alert(message);DonnerFocus(rfocus);return false;
             }
             else {
                if ((deb[3]== fin[3]) && (deb[2]==fin[2]) && (deb[1]<fin[1])){
                alert(message);DonnerFocus(rfocus);return false;
                }
             }
          }
          //si la date de réservation dépasse un an on demande une confirmation
          if (datefin!='1'){
             if ((deb[3]-fin[3])>1){
                if (confirm("attention, vous avez réservé pour plus d'un an, confirmer ?")) {
                return true;
                }
                else {
                   return false;
                }
             }
          }
       return true;
       }
    }
     
     // Cette fonction vérifie le format JJ/MM/AAAA saisi et la validité de la date.
     // Le séparateur est défini dans la variable separateur
     
     function verifdate(d) {
      var dateaverifier=d
      // rangement de la date dans des variables
      if (dateaverifier.substring(0,1)=="0"){
             var j=parseInt(dateaverifier.substring(1,2));
          }
          else {
             var j=parseInt(dateaverifier.substring(0,2));
          }
          if (dateaverifier.substring(3,4)=="0"){
             var m=parseInt(dateaverifier.substring(4,5));
          }
          else {
             var m=parseInt(dateaverifier.substring(3,5));
             }
          var a=parseInt(dateaverifier.substring(6,10));
       //si la longueur est différent de 10 , problème
         if (dateaverifier.length != 10) {
             return false;
       }
       //les caratères / ne sont pas aux endroits attendus
       else {
          if((dateaverifier.charAt(2) != '/') && (dateaverifier.charAt(5) != '/')) {
             return false;
          }
       }
       //l'année n'est pa un chiffre
       if (isNaN(a)) {
          return false;
        }
       //le mois n'est pas un chiffre ou n'est pas compris entre 0 et12
         if ((isNaN(m))||(m<1)||(m>12)) {
          return false;
        }
       //test si il s'agit d'une année bissextile pour accepter le 29/02
       if (((a % 4)==0 && (a % 100)!=0) || (a % 400)==0){
             if ((isNaN(j)) || ((m!=2) && ((j<1)||(j>31))) || ((m==2) && ((j<1)||(j>29)))) {
                return false;
            }
       }
        else {
             if ((isNaN(j)) || ((m!=2) && ((j<1)||(j>31))) || ((m==2) && ((j<1)||(j>28)))){
             return false;
          }
       }
       return true;
    }
     
    //cette fonction test si caractères numériques
    function IsNumberString(NumStr) 
    {var regEx=/^[0-9]+$/; 
    var ret=false; 
    if (regEx.test(NumStr)) ret=true; 
    return ret; 
    } 
    </script>
     
     
    <form name="reservation" method="post" action="" onsubmit="return datecomp(document.getElementById('datedeb').value,document.getElementById('datefin').value);">
    <p>
      Date d&eacute;but :
      <input type="text" onclick="ds_sh(this);" title="Date de debut" id="datedeb" name="datedeb" value="<? echo $datedeb;?>"  />
    </p>
    <p>
     Date fin : <input type="text" onclick="ds_sh(this);" title="Date de fin" id="datefin" name="datefin"  value="<? echo $datefin;?>" />
    </p>
    <p>
    	<input type="submit" name="Submit" value="Modifier" title="Enregistrer votre demande"/>
    	<input type="button" name="redirection" value="Annuler" onClick="javascript:location.replace('liste_prets.php');"/>
    </p>
    </form>
    </body>
    </html>

  14. #14
    Membre du Club Avatar de mjs21
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2008
    Messages : 85
    Points : 59
    Points
    59
    Par défaut
    Citation Envoyé par MeDioN Voir le message
    As tu bien changé le

    function datecomp(datesaisie,datecompar){
    var datedebut=datesaisie;
    var datefin=datecompar;

    En enlevant le ".value"
    et as tu bien recharger sans cache?

    Chez moi ça marche nickel avec ton formulaire.

    Arf peux-tu m'envoyer ton script entier par MP que je test s'il te plait ?

  15. #15
    Membre habitué
    Inscrit en
    Mai 2005
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 130
    Points : 134
    Points
    134
    Par défaut
    Je t'ai mis le code complet

  16. #16
    Membre du Club Avatar de mjs21
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2008
    Messages : 85
    Points : 59
    Points
    59
    Par défaut
    je comprend pas j'ai fais copié coller de ton code :

    Si je met 25/06/2008(datedeb) à 27/06/2008(datefin)

    ===> la date de fin de réservation ne peut être infèrieure à la date de début

    omg le javascript !!

  17. #17
    Membre habitué
    Inscrit en
    Mai 2005
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 130
    Points : 134
    Points
    134
    Par défaut
    Ha ben là c'est ta fonction téléchargée qui chie.

    Tu veux que je t'en réécrive une?
    (même si le mieux serait d'en profiter pour apprendre le javascript là )

  18. #18
    Membre du Club Avatar de mjs21
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2008
    Messages : 85
    Points : 59
    Points
    59
    Par défaut
    Citation Envoyé par MeDioN Voir le message
    Ha ben là c'est ta fonction téléchargée qui chie.

    Tu veux que je t'en réécrive une?
    (même si le mieux serait d'en profiter pour apprendre le javascript là )
    Je pense bien que celà vient du script, mais le javascript et moi ça fait 2 je débute totalement

  19. #19
    Membre du Club Avatar de mjs21
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2008
    Messages : 85
    Points : 59
    Points
    59
    Par défaut
    Merci tout le monde pour votre aide !

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

Discussions similaires

  1. [script icons] Utilisation dans des sous-répertoires
    Par Hailey dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 23/07/2009, 14h43
  2. Réponses: 7
    Dernier message: 18/07/2009, 01h28
  3. SOS script SQL 'utilisation d'@ ip es possible?'
    Par billgate215 dans le forum Oracle
    Réponses: 1
    Dernier message: 23/12/2006, 10h22
  4. [GIMP] [Script-FU] Utilisation fonction gimp-curves-spline
    Par narmataru dans le forum Autres langages
    Réponses: 1
    Dernier message: 09/02/2005, 17h25

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