abracadabraPDF › Forums › PDF – Général › Formulaire avec date calculée en JavaScript › Répondre à : Formulaire avec date calculée en JavaScript
bonjour,
Oups, j’avais mal lu…
Donc, < et non pas >
Ça ne suffit pas dans ce sens là ! Sans indications supplémentaires la valeur de “laDate” est indiquée à minuit pile. Alors que la valeur de “aujourdhui” est indiquée à ‘instant “t”. À moins que l’on remplisse le champ à 0:00 au millième de seconde près, ce qui est peu probable… si “aujourdhui” est aujourd’hui, la valeur “laDate” est toujours inférieure à la valeur “aujourdhui”. 🙂
Le script est donc à modifier comme suit :
var jour=["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"]
if (event.value!="") {
var d=util.scand("dd/mm/yyyy",event.value); // valeur donnée à minuit pile
var laDate=d.getTime()+24*3600*1000;
var aujourdhui=util.scand("dd/mm/yyyy", new Date()).getTime();
if (laDate<aujourdhui) {
app.alert("Veuillez indiquer une date postérieure ou égale à celle d'aujourd'hui.\rou\rVeuillez indiquer une date qui n'est pas antérieure à celle d'aujourd'hui.",3);
event.rc=false;
} else {
var jCommande=jour[d.getDay()];
this.getField("jourCommande").value=jCommande;
if (d.getDay()==1) var nbJours=4;
else if (d.getDay()==2) var nbJours=6;
else var nbJours=5;
var dateLivraison=laDate+((nbJours-1)*24*3600*1000); // ...comme on a modifié "laDate"
this.getField("DateLimite").value=new Date(dateLivraison);
var jLivraison=jour[new Date(dateLivraison).getDay()];
this.getField("jourLivraison").value=jLivraison;
}
} else {
this.getField("jourCommande").value="";
this.getField("DateLimite").value="";
this.getField("jourLivraison").value="";
}
@+
😎