Activation selon heure (fct° faite mais pb) - Page 3
Résolu
Précédent
- 1
- 2
- 3
Je te remercie sam3000. Ca répond exactement à ma demande. (mis à part au niveau du test si valide ou non. Je préfère <= ou >= pluto que < ou >)
Aini, çà me plaît mieux. Il ne me restera qu'à remettre ton code en forme pour que ce soit un peu plus personnel (et oui, je n'aime pas pomper le travail des concepteurs). Ensuite, je retirerai le paramétrage des secondes. Je n'ai pas besoin d'être aussi précis mais tu ne pouvais pas le savoir.
Si tu es intéressé, je te passerrai ma version finale mes je pense que niveau codes à ralonges, vous avez eu votre dose. LoL
++
et merci encore
Nico.
(Je ne cloture pas cette discussion. Je pourrais encore avoir besoin de vous à ce sujet. hihi!!!!)
Aini, çà me plaît mieux. Il ne me restera qu'à remettre ton code en forme pour que ce soit un peu plus personnel (et oui, je n'aime pas pomper le travail des concepteurs). Ensuite, je retirerai le paramétrage des secondes. Je n'ai pas besoin d'être aussi précis mais tu ne pouvais pas le savoir.
Si tu es intéressé, je te passerrai ma version finale mes je pense que niveau codes à ralonges, vous avez eu votre dose. LoL
++
et merci encore
Nico.
(Je ne cloture pas cette discussion. Je pourrais encore avoir besoin de vous à ce sujet. hihi!!!!)
non, je t'en pris!
ferme ce post, et si tu as besoin d'aide ouvre un nouveau post!
j'en ait ma dose de ces long listings!!
ferme ce post, et si tu as besoin d'aide ouvre un nouveau post!
j'en ait ma dose de ces long listings!!
voici ma version !!
c'est fou ce que le javascript peut etre efficace !!
c'est fou ce que le javascript peut etre efficace !!
<html>
<head>
<title>Activation par date/heure</title>
</head>
<script language="JavaScript" type="text/javascript">
// Date Courante
var DateTimer;
function Field(name,max,pad,sep,offu,offd)
{
this.name=name; // nom conforme aux getXxx de l'objet Date
this.max=max; // combien de valeur ? , 0 => pas limite
this.pad=pad; // ca se presente sur combien de chiffre
this.sep=sep; // avec quel separateur qui suit
this.offu=offu; // ca commence a combien pour un humain
this.offd=offd; // ca commence a combien pour l'objet Date
}
var fields=[
new Field("Date", 31,2,"/",1,1),
new Field("Month", 12,2,"/",1,0),
new Field("FullYear", 0,4," ",0,0),
new Field("Hours", 24,2,":",0,0),
new Field("Minutes", 60,2,":",0,0),
new Field("Seconds", 60,2,"" ,0,0)
];
function zeroHead(v,count)
{
var str = v.toString();
while(str.length<count)
str="0"+str;
return str;
}
Date.prototype.formated=function()
{
var res="";
for(var i=0;i<fields.length;i++)
{
field=fields[i];
var v=eval("this.get" + field.name + "();")
res+= zeroHead(v - field.offd + field.offu ,field.pad) + field.sep;
}
return res;
}
Date.prototype.toForm=function(line)
{
for(var i=0;i<fields.length;i++)
{
field=fields[i];
var v=eval("this.get" + field.name + "();");
v-=field.offd; // on rammene ca commencant a zero
//v=zeroHead(v+field.offu,field.pad); // c'est fait par la liste du formulaire
eval("document.idDates.idDate" + line + field.name + ".value=v;");
}
}
Date.prototype.fromForm=function(line)
{
for(var i=0;i<fields.length;i++)
{
field=fields[i];
var v=eval("document.idDates.idDate" + line + field.name + ".value;");
v=parseInt(v);
v+=field.offd;
eval("this.set" + field.name + "(v);");
}
return this;
}
function DateCourante()
{
var date=new Date();
document.idDates.idDateCourante.value=date.formated();
DateTimer=setTimeout("DateCourante()",1000);
}
function DateDebutInit()
{
var date=new Date();
date.toForm("Debut");
}
function DateFinInit()
{
var date=new Date();
date.toForm("Fin");
}
function ValiderDate()
{
var valide=true;
var dtCourante=new Date();
var dtDebut=(new Date()).fromForm("Debut");
var dtFin =(new Date()).fromForm("Fin");
//alert("c="+dtCourante+",D="+dtDebut+",F="+dtFin);
//valide=(dtDebut-dtCourante)<0 && (dtCourante-dtFin)<0;
valide=(dtDebut<dtCourante) && (dtCourante<dtFin);
alert( valide ? "Valide :)" : "Non Valide!!" );
return valide;
}
function main()
{
DateCourante();
DateDebutInit();
DateFinInit();
}
function main_close()
{
clearTimeout(DateTimer);
}
</script>
<body onload="main()" onunload="main_close()">
<form name="idDates">
<table>
<tr>
<td> Date Courante : </td>
<td> <input name="idDateCourante"/> </td>
<td></td>
<td></td>
</tr>
<script language="JavaScript" type="text/javascript">
var lines=["Debut","Fin"];
for(l=0;l<lines.length;l++)
{
document.write("<tr>");
document.write("<td> Date " + lines[l] + " : </td>");
document.write("<td>");
document.write("<select name='idDate" + lines[l] + "Date'>");
for(var i=0;i<31;i++)
document.write("<option value='" + i + "'>" + zeroHead(i+1,2) + "</option>");
document.write("</select>/");
document.write("<select name='idDate" + lines[l] + "Month'>");
for(var i=0;i<12;i++)
document.write("<option value='" + i + "'>" + zeroHead(i+1,2) + "</option>");
document.write("</select>/");
document.write("<input name='idDate" + lines[l] + "FullYear'/><br/>");
document.write("</td>");
document.write("<td> Heure " + lines[l] + " : </td>");
document.write("<td>");
document.write("<select name='idDate" + lines[l] + "Hours'>");
for(var i=0;i<24;i++)
document.write("<option value='" + i + "'>" + zeroHead(i,2) + "</option>");
document.write("</select>:");
document.write("<select name='idDate" + lines[l] + "Minutes'>");
for(var i=0;i<60;i++)
document.write("<option value='" + i + "'>" + zeroHead(i,2) + "</option>");
document.write("</select>:");
document.write("<select name='idDate" + lines[l] + "Seconds'>");
for(var i=0;i<60;i++)
document.write("<option value='" + i + "'>" + zeroHead(i,2) + "</option>");
document.write("</select>");
document.write("</td>");
document.write("</tr>");
}
</script>
</table>
<br/><input name="idValider" type="submit" value="Valider" onclick="ValiderDate();return false;">
</form>
</body>
</html>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Précédent
- 1
- 2
- 3