L'éditeur JavaScript
Visiteur non-identifié | Identifiez-vous | Devenir membre
Code perdu ? | Combien de visiteurs sur votre site ?
Rechercher :
Page d'accueil
     Home Page

JavaScript
     Tous les scripts
     Proposer un script
     Recherche de script
     AJAX new!
     Cours de JavaScript
     Liste de discussion
     Forums

Services :
     CountUs
     myCircle

     Referencement
     Créat. de bannière

Trucs et astuces :
     HTML / CSS
     PHP / MySQL
     Réferencement
     Graph / Présentation
     Toutes les astuces
     Ajouter un article

MailingList :
102463 abonnés

Annuaire webmaster :      Hebergement web
     Referencement
     Sites webmasters
     XHTML - CSS2
     PHP
     Affiliation - Pub
     FAI

     Annuaire webmaster

Ressources pour webmasters :
     Kits graphiques
     Création logo

Plus :
     Comparateur de prix
     Foire aux questions
     Les membres
     Devenir annonceur
     Faire un lien
     Contact

Partenaire :
     Hebergement gratuit
     Le PHP facile
     Horoscope
     Comscripts
     WebmasterClub
     Activeartanima...
     Le village de ...
     Netsources
     Images gifs an...
     L'écriteau
     Faro-dessing
     Easy-script.com
     Création de site
     K i s s design
     Poésie et cita...
     Les autres
     Votre site ici ?


Le forum ] [ Préférences ] [ Nouveau sujet ] [ Répondre ] [ Recherche ] [ Vos sujets ] [ Tous lus ] [ Flux RSS ]


[ Forums >> JavaScript >> Problèmes de création JavaScript / DHTML >> Controles sur les dates javascript ]

> Controles sur les dates javascript
[ Posté par mjs21 ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 25-06-2008 à 10:41 | 1 messages ]

Bonjour,

Je souhaiterais effectuer deux test sur des dates en javascript mais celà ne fonctionne malheuresement pas.

J'ai deux dates : datedeb / datefin

que je recupère dans deux champs textes (datedeb et datefin) au format JJ/MM/AAAA à l'aide d'un script qui affiche un calendrier.

Je souhaiterais deux test

- La date de début ne doit pas être inférieure à la date du jour actuel
- La date de fin ne peut pas être antérieure à la date de début

Voici le code du formulaire :

<form name="reservation" method="post" action="modif_dates.php?mod=1&num=<? echo $num;?>" onSubmit="return checkForm()">
<p>
Date d&eacute;but :
<input type="text" onclick="ds_sh(this);" readonly="readonly" title="Date de fin" 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>


et mon script de verification actuel qui ne fonctionne pas :

<script language="javascript" type="text/javascript">
function checkForm() {
var errorMsg = "";

if(document.reservation.datedeb.value > document.reservation.datedeb.value){
errorMsg += "\n - Attention, la date de debut ne peut pas etre anterieure a la date de fin !";
}
if (errorMsg != ""){
barre = "\n\n*********************************************************\n";
msg = "********************************************************* \n";
msg += "Attention : \n";

errorMsg += alert(msg + errorMsg + barre);
return false;
}else{
return true;
}
}
</script>


Si quelqu'un peut me filer un coup de pouce

Merci par avance,

Cordialement,

Emmanuel

________________
Sauvez un arbre, mangez un castor



[ Posté par jparia ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 25-06-2008 à 12:52 | 530 messages ]

Slt,

Quelques fonctions personnelles:

/*Contrôle le format d'une date jj/mm/aaaa et retourne vrai ou faux*/

function isDate(wDate){
var wChaine=new String(wDate);
if(wChaine.length!=10){return false;}
if(isNaN(wChaine.substr(0,2))||isNaN(wChaine.substr(3,2))||isNaN(wChaine.substr(6,4))){return false;}
if(wChaine.substr(2,1)!="/"||wChaine.substr(5,1)!="/"){return false;}
if(parseFloat(wChaine.substr(3,2))>12){return false;}
if(parseFloat(wChaine.substr(6,4))<1900){return false;}
if(parseFloat(wChaine.substr(6,4))%4==0&&parseFloat(wChaine.substr(6,4))%100!=0||parseFloat(wChaine.substr(6,4))%400==0){var wFev=29;}else{var wFev=28;}
var wNbJours=new Array(31,wFev,31,30,31,30,31,31,30,31,30,31);
if(parseFloat(wChaine.substr(0,2))>wNbJours[parseFloat(wChaine.substr(3,2))-1]){return false;}
return true;
}

/*Retourne la différence en jour entre 2 dates au format jj/mm/aaaa*/

function DateDiff(wDu, wAu){
var wDateDu=new String(wDu);
var wDateAu=new String(wAu);
if(!isDate(wDateDu)){return 0;};
if(!isDate(wDateAu)){return 0;};
var wTabDateDu=wDateDu.split("/");
var wTabDateAu=wDateAu.split("/");
var wNbMsJour=1000*60*60*24;
wDateDu=new Date();
wDateDu.setDate(parseFloat(wTabDateDu[0]));
wDateDu.setMonth(parseFloat(wTabDateDu[1])-1);
wDateDu.setFullYear(parseFloat(wTabDateDu[2]));
wDateAu=new Date();
wDateAu.setDate(parseFloat(wTabDateAu[0]));
wDateAu.setMonth(parseFloat(wTabDateAu[1])-1);
wDateAu.setFullYear(parseFloat(wTabDateAu[2]));
var wNbJours=parseInt(wDateAu.getTime()/wNbMsJour)-parseInt(wDateDu.getTime()/wNbMsJour);
return wNbJours;
}


[Message édité par jparia le 25-06-2008 à 12:59]


________________
Seule la compréhension permet d'avancer.
Ah! et puis on a pas toujours raison, mais un p'tit merci nous fait toujours du bien.

[ Posté par guySk ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 25-06-2008 à 15:24 | 713 messages ]

Pour la vérification des dates, j'avais pondu un truc, mais juste avant d'envoyer, coupure de courant due à l'orage, reboot, et manque de pots, pas de restauration de la session firefox, donc je recommence:


s_date1 = document.reservation.datedeb.value;
s_date2 = document.reservation.datefin.value;

//format americain des dates:
s_date_a = s_date1.split("/");
s_date1 = s_date_a[1] + "/" + s_date_a[0] + "/" +s_date_a[2];
s_date_a = s_date2.split("/");
s_date2 = s_date_a[1] + "/" + s_date_a[0] + "/" +s_date_a[2];

date_deb = new Date(s_date1);
date_fin = new Date(s_date2);

//On fait la comparaison
if(date_deb >date_fin){
//error
}



________________
a'++'a




Services email :

Vous devez vous identifier pour profiter des services par email du forum.
Le forum ] [ Préférences ] [ Nouveau sujet ] [ Répondre ] [ Recherche ] [ Vos sujets ] [ Tous lus ] [ Flux RSS ]






18 visiteurs
actuellement en ligne

    PUBLICITE

Wilogo.com - Création Logo Entreprise

     ANNUAIRE WEBMAST.
iFrance
Apres des moments difficiles, iFrance a revu toute son architecture technique pour hebergement de nouveau tres performant !
http://www.ifrancepro.com/
Cat : Hebergement gratuit
Voir l'annuaire webmaster


     LES SCRIPTS :
78 à éditer
68 à copier/coller
247 des membres
2580 sur le web
>> Tous les scripts

     LES MEMBRES :
54928 membres
8573 comptes CountUs
1463 comptes myCircle

     LES FORUMS :
14 forums
39177 topics
188686 messages
>> Les forums

    SONDAGE

Vous avez un blog ou site classique ?
Un blog
Un site classique
Les deux !
La mini-astuce "PHP / mySQL" du jour par Ultiny
En PHP, pour résoudre des problèmes de developpement, vous avez la possibilitée d'afficher le contenu d'une variable quelque soit son type (array, string, integer, boolean...) de cette mannière :

var_dump($variable); ou encore print_r($variable);
Proposer votre mini-astuce | Archives des mini-astuces
© 1999-2008 K-NETWORK - Tous droits réservés | CNIL N° 844440 | 08/09/2008 20:37:43 | Design by Studcrea | Gen. en 0.455 sec.