Date dans formulaire

Signaler
Messages postés
10
Date d'inscription
vendredi 23 novembre 2007
Statut
Membre
Dernière intervention
21 avril 2008
-
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
-
Bonjour,

Voilà,
j'ai un formulaire dans lequel je saisie une date et je souhaiterai un controle pour vérifier si cette date est bien entre deux dates.
Mes dates sont dans une base de données mais pas de problème pour les récupérer en deux variables :
Par exemple $date1 = 2007-11-01 et $date2=2007-11-30 et je voudrai qu'il y ait un controle en javascript coté client pour vérifier que la date saisie dans le formaulaire soitr entre ces deux dates.

Merci pour votre aide.

David

3 réponses

Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
14
Bonjour,
Il te faut utiliser l'objet Date

la_date = new Date ( annee, mois, jour);
 
exemple :
//-- la date Mini
D_Mini = new Date( 2007, 11, 1);
//-- la date Maxi
D_Maxi = new Date( 2007, 11,
30);
//-- la date a tester
D_Test =
new Date( 2007, 12, 20);
//-- Test si IN
if(( D_Test >= D_Mini)&&( D_Test <= D_Maxi))
  alert('Date
IN');
else
  alert('Date OUT');
 
;0)
Messages postés
10
Date d'inscription
vendredi 23 novembre 2007
Statut
Membre
Dernière intervention
21 avril 2008

Merci beaucoup pour la rapidité de la réponse.
Comme je suis novice dans ce domaine, comment je peux à la soumission d'un formulaire faire cette comparaison de D_Test

Merci
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
14
Bonjour,
1000 excuses pour le retard à la réponse, peut être à tu résolu ton problème entre temps...
Je te livre un petit exemple presque complet

<html>
<head>
<title>Date dans formulaire</title>
<script type= "text/javascript">
var szD_Mini = "1/11/2007";
var szD_Maxi = "30/11/2007";
//------------------
function Test_Date(){
  //-- Pour gestion ERREUR
  var O_Msg = document.getElementById('D_MSG');
  var szMsg = "";
  //-- Recup. Date
  var O_Form = document.forms.F_DATE;
  var A = parseInt( O_Form.I_ANNEE.value);
  var M = parseInt( O_Form.I_MOIS.value);
  var J = parseInt( O_Form.I_JOUR.value);
  //------------------------------------------//
  //-- ici mettre les tests sur les saisies --//
  //------------------------------------------//
  //-- la date a tester
  var D_Test = new Date( A, M, J);

  //-- la date Mini
  var T_Mini = szD_Mini.split('/');
  var D_Mini = new Date( T_Mini[2],T_Mini[1],T_Mini[0]);

  //-- la date Maxi
  var T_Maxi = szD_Maxi.split('/');
  var D_Maxi = new Date( T_Maxi[2],T_Maxi[1],T_Maxi[0]);

  //-- Test si OUT
  if(( D_Test < D_Mini)||( D_Test > D_Maxi)){
    szMsg = 'La date doit &ecirc;tre entre ' +szD_Mini +' et ' +szD_Maxi;
  }
  //-- affiche message si erreur
  if( szMsg){
    O_Msg.innerHTML = '' +szMsg +'<\/b>';
    return( false);
  }
  return( true);
}
</script>
</head>

Saisir la date jj/mm/aaaa

<form action="javascript:alert('OK !');" name="F_DATE" method="post" onsubmit="return(Test_Date());">
/
/

</form>

</html>

C'est à toi de jouer maintenant.


;0)