Date dans formulaire

dlgforum Messages postés 10 Date d'inscription vendredi 23 novembre 2007 Statut Membre Dernière intervention 21 avril 2008 - 23 nov. 2007 à 22:39
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 - 28 nov. 2007 à 17:32
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

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
24 nov. 2007 à 07:41
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)
0
dlgforum Messages postés 10 Date d'inscription vendredi 23 novembre 2007 Statut Membre Dernière intervention 21 avril 2008
24 nov. 2007 à 12:12
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
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
28 nov. 2007 à 17:32
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)
0
Rejoignez-nous