Probleme de date [Résolu]

Signaler
Messages postés
12
Date d'inscription
samedi 24 septembre 2005
Statut
Membre
Dernière intervention
14 février 2007
-
Messages postés
12
Date d'inscription
samedi 24 septembre 2005
Statut
Membre
Dernière intervention
14 février 2007
-
Bonjour,

Alors voilà j'ai un petit soucis avec une date, j'ai un formulaire ou l'utilisateur saisie ses infos et dedans il dois précisez sa date d'arrivée ( qu'il entre à l'aide d'un calendrier ), et donc cette date d'arrivée dois être inférieur a la date du jours - 5 jours ( le temps du traitement du formulaire ).

J'avais essayer de le faire en php mais sa ne marche complétement vu que le controle se fais lorsqu'on valide le formulaire.
donc je sais pas si quelqu'un à une idée.
 
le bout du code html si sa peux aider :
  
    
  <title="Date" alt="Date">  
    Date d'arrivée :

 </td>
 <td>  
   
   

Merci d'avance !! si ils vous faut plus de renseignement demander moi je savais pas trop comment expliquer alors sa peux être un peu brouillon

7 réponses

Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
16
Dans l'exemple ci dessus la récupération de la date n'est pas traitée...
..cela pourrait donc donner en final....




function verif_arriv(){
  if (document.form.nom.value == ""){ 
    alert("Entrez le nom du collaborateur !");  
    return false;   
  }






  var DelaiMini = 5*(24*60*60)*1000;

// Delai en millisecondes








  var D_Today = new Date();





  var D_Date  = new Date();







  //-- Recup est init date arrivee au format jj/mm/aaaa








  var szDate = document.getElementById( 'date_arrivee').value






  var T_Date = szDate.split('/'); // Recup dans T_Date les j, m et a
  //-- On affecte la date recuperee
  D_Date.setDate     (parseInt(T_Date[0]));
  D_Date.setMonth    (parseInt(T_Date[1])-1); // Attention mois de 0 à 11
  D_Date.setFullYear (parseInt(T_Date[2]));






  //-- Test sur delai


  if(( D_Today - D_Date) < DelaiMini){
    alert( "Delai INF à 5 Jours..");
    return false;
  }
  return true;
}





Il te resteras à gérer les eventuels problème d'heure...





;0)
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
16
B
onjour...
pas sur du tout de tous avoir compris, mais je te soumet ce qui suit pour test

<html>
<head>
</head>
<script type= "text/javascript">
//-------------------
function OuvrePopup(){
  var DelaiMini = 5*(24*60*60)*1000; // Delai en millisecondes
  var D_Today = new Date();
  //-- Recup est init date arrivee
  var szDate = document.getElementById( 'date_arrivee').value;
  //-- Ca c'est pour le test !!!



  var D_Date = new Date();





  D_Date.setDate( D_Date.getDate()-4);

  //-- Test sur delai
  if(( D_Today - D_Date) < DelaiMini){
    alert( "Delai INF à 5 Jours..");
  }
  else{
    alert( "Delai OK...");
    //-- Ouverture du Popup
  }
}
</script>

 
  <title ="Date" alt="Date">
    Date d'arrivée :

 
  [# Envoi]

</html>




Mais on ne sais pas comment est formatée la date dans le INPUT...
est ce le problème ?
;0)
Messages postés
12
Date d'inscription
samedi 24 septembre 2005
Statut
Membre
Dernière intervention
14 février 2007

Merci de m'aidez déjà :)

Pour la date c'est un format jj/mm/aaaa

Et en faite c'est pas tous  à fais ça, je voudrais que le test ce fasse lorsqu'on valide le formulaire ici :

( c'est mon bouton envoyé à la fin du formulaire )

et le :

onclik=" OuvrePopup ();

Je ne peux pas le mettre ici, puisque je m'en sert déjà pour le popup du calendrier en faite :/

J'ai un fichié script qui se lance au début de la page pour vérifié si les champ ne sont pas vide du genre :

script.js :

function verif_arriv()
{
 if (document.form.nom.value == "")
 { alert("Entrez le nom du collaborateur !");  
  return false;   }

add.php :

<script LANGUAGE="JavaScript" src="script.js"></script>
<form method="post" name="form" action="ajout.php" onsubmit="return verif_arriv()" >

Alors je ne sais pas trop ou plaçer le test et comment bien le faire ://
Messages postés
1251
Date d'inscription
mercredi 7 août 2002
Statut
Modérateur
Dernière intervention
10 avril 2013

Bonjour,

il te suffit de combiner les 2 comme ceci :
function verif_arriv()
{
 if (document.form.nom.value = = "")
 { alert("Entrez le nom du collaborateur !");  
  return false;   }

var DelaiMini = 5*(24*60*60)*1000; // Delai en millisecondes

  var D_Today = new Date();
  //-- Recup est init date arrivee

  var szDate = document.getElementById( 'date_arrivee').value;
  //-- Ca c'est pour le test !!!

  var D_Date = new Date();

  D_Date.setDate( D_Date.getDate()-4);

  //-- Test sur delai
  if(( D_Today - D_Date) < DelaiMini){
    alert( "Delai INF à 5 Jours..");
  }
  else{
    alert( "Delai OK...");
    
  }

}

Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
Messages postés
1251
Date d'inscription
mercredi 7 août 2002
Statut
Modérateur
Dernière intervention
10 avril 2013

Petite correction :

function verif_arriv()
{
 if (document.form.nom.value = = "")
 { 
   alert("Entrez le nom du collaborateur !");  
   return false;   
 }

  var DelaiMini = 5*(24*60*60)*1000; // Delai en millisecondes

  var D_Today = new Date();
  //-- Recup est init date arrivee

  var szDate = document.getElementById( 'date_arrivee').value;
  //-- Ca c'est pour le test !!!

  var D_Date = new Date();

  D_Date.setDate( D_Date.getDate()-4);

  //-- Test sur delai
  if(( D_Today - D_Date) < DelaiMini){
    alert( "Delai INF à 5 Jours..");
    return false;
  }
  return true;

}

Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
Messages postés
12
Date d'inscription
samedi 24 septembre 2005
Statut
Membre
Dernière intervention
14 février 2007

Merci Nickadele,

Sa à l'air de marcher, sauf que même si je met une date supérieure à 5 jours il m'affiche le message d'erreur quand même :/
Messages postés
12
Date d'inscription
samedi 24 septembre 2005
Statut
Membre
Dernière intervention
14 février 2007

Merci :)