Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/09/2008, 10h00   #1
Membre à l'essai
 
Inscription : août 2006
Messages : 54
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 54
Points : 20
Points : 20
Par défaut Recuperer une date asp dans du javascript HELP

Bonjour,

J'ai un script javascript qui m'affiche un compteur dynamique (change toute les secondes) et qui fonctionne correctement avec la fonction new date().
Mais il ne m'interresse que si je récupere la date coté serveur. Et pour celà je dois récuperer la date avec asp. Mais des que je veux récuperer la date avec asp, il marche mais n'est plus dynamique.

Voilà mon code javascript :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
 
 
// nombre de millisecondes par jour, heure, minute et seconde
var mms_jour = 24 * 60 * 60 * 1000;
var mms_heure = 60 * 60 * 1000;
var mms_minute = 60 * 1000;
var mms_seconde = 1000;
 
 
 
function decompte1(compteur,annee,mois,jour,heure,minutes,secondes) {
var cible = new Date(annee,mois,jour,heure,minutes,secondes)
 
// la date courante
var aujourdhui = new Date();
//var aujourdhui = new Date(<%=year(now)%>,<%=month(now)%>,<%=day(now)%>,<%=hour(now)%>,<%=minute(now)%>,<%=second(now)%> );
//var aujourdhui = new Date(2008,09,25,16,39,00);
//var aujourdhui = new Date("<%=weekdayname(Weekday(Date))%>, <%=monthname(month(now)) & " " & day(now)%> 2008 <%=hour(now)%>:<%=minute(now)%>:<%=second(now)%>" );
//var aujourdhui = new Date  ("<%=monthname(month(now)) & " " & day(now) & ", " &  year(now) & " " & hour(now) &":" &minute(now) &":"& second(now)%>" ) ;
 
 
// on crée les variables qui accueilleront les différences entre aujourd'hui et la date à atteindre
var change_j = -1;
var change_h = -1;
var change_m = -1;
 
// le total de millisecondes de différences
var diff_mms = cible.getTime() - aujourdhui.getTime();
 
// pareil pour les jours
diff_jours = Math.floor(diff_mms / mms_jour);
diff_mms -= diff_jours * mms_jour;
 
// pour les heures
diff_heures = Math.floor(diff_mms / mms_heure);
diff_mms -= diff_heures * mms_heure;
 
// pour les minutes
diff_minutes = Math.floor(diff_mms / mms_minute);
diff_mms -= diff_minutes * mms_minute;
 
// les secondes, ce qui reste en fait.
var diff_secondes = Math.floor(diff_mms / mms_seconde);
 
 
// on affecte nos résultats aux champs du formulaire
document.getElementById("jours"+compteur).innerHTML = diff_jours;
document.getElementById("heures"+compteur).innerHTML  = diff_heures;
document.getElementById("minutes"+compteur).innerHTML  = diff_minutes;
document.getElementById("secondes"+compteur).innerHTML = diff_secondes;
 
if (diff_jours==0 && diff_heures==0 && diff_minutes==0 &&diff_secondes==0) {
location.reload();
}
// on relance la fonction pour actualiser à la seconde
setTimeout("decompte1(1,"+annee+","+mois+","+jour+","+heure+","+minutes+","+secondes+" )",1000);
}
Dans le code source (a l'affichage de ma page) j'ai :

Code :
1
2
3
4
5
6
7
 
// la date courante
var aujourdhui = new Date();
//var aujourdhui = new Date(2008,9,26,9,39,18);
//var aujourdhui = new Date(2008,09,25,16,39,00);
//var aujourdhui = new Date("Friday, September 26 2008 9:39:18" );
//var aujourdhui = new Date  ("September 26, 2008 9:39:18" ) ;





Il me récupere bien ma date en asp ! Mais non il ne veux pas fonctionner !

Dans ma page j'ai un window.onload qui lance ma fonction

J'ai tout essayer les sortes de date là je ne sais plus...

Si vous avez une idée je la prend volontier !!
lonycc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2008, 21h50   #2
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 862
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 862
Points : 5 982
Points : 5 982
Citation:
Envoyé par lonycc Voir le message
Il me récupere bien ma date en asp ! Mais non il ne veux pas fonctionner !
Je comprend rien...

A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2008, 08h41   #3
Membre à l'essai
 
Inscription : août 2006
Messages : 54
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 54
Points : 20
Points : 20
En gros j'ai fait un compteur (il reste 14 jours 05 heures 06 minutes 03 secondes) dynamique (qui change toute les secondes sans recharger la page entière ) en javascript.
Ma date de fin je la récupere dans les paramètre de ma fonction javascript.
Ma date réel (celle de maintenant) je la récupere avec new Date()

Jusque là tout vas bien

Mais ! Il me prend l'horloge client et non serveur ! Et ça ben ça vas pas !

Donc j'ai essayé de lui envoyer ma date en ASP (mon site est en ASP).
Mais là, il me calcul bien l'écart mais reste figé.

Voilà en gros mon problème.

Après réflexion, je pense que mon compteur reste figé car ma date ASP je la récupere dans ma page et ce que je recharge toute les secondes c'est la fonction javascript.
Donc il ne me recharge pas ma date ASP.

Voilà soit vous avez une solution à me donner pour récuperer ma date ASP toutes les secondes sans recharger ma page ou soit je vais devoir utiliser l'ajax.
lonycc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2008, 08h32   #4
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 862
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 862
Points : 5 982
Points : 5 982
Bon,

Considérons une chose: où qu'on soit sur la planete, si tu ne te rapproches pas la vitesse de la lumiere, le temps s'ecoule à la même vitesse pour tout le monde (client ou serveur). Par contre, la date à un instant "t" n'est pas la même pour les chinois et les français. Il faut donc ne prendre en compte qu'une date et une heure de reférence. A toi de choisir. En tous les cas, au chargement de la page ASP, tu mets cette heure (ou cette durée plutôt) de reference dans un champs (caché), et ta fonction javascript devra partir de là.

Au fait c'est un compteur avant koi, le passage en hyper espace?

A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2008, 08h40   #5
Membre à l'essai
 
Inscription : août 2006
Messages : 54
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 54
Points : 20
Points : 20
lol non je travaille pour un site ecommerce, et on vas faire une vente Flash.
Les produits ne sont vendus qu'un certain temps, c'est pourquoi il faut absolument que je prennes l'heure serveur sinon l'internaute pourrais changer son horloge et mes produits finis réapparaitrons.
Tant pis, pour l'instant j'enleves les secondes, comme ca, ca se verras pas trop qu'il n'est pas dynamique et je regarderais ce que tu m'as dit plus tard, là j'ai plus trop le temps, je dois lancer ca ce matin
lonycc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2008, 23h46   #6
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 862
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 862
Points : 5 982
Points : 5 982
Et ton site fonctionne aussi pour les internautes dont le javascript est desactivé?

L'option durée me semble la meilleur. Ton serveur calcul la durée selon son horaire. Le javascript client fait le compte à rebour en fonction de cette valeur qui lui est indiquée.

Même si le compte à rebour peut être sympa à voir, je ne pense pas que cela vous dispense de l'heure précise à laquelle s'arrêtera la vente. Si site international prévoir l'heure GMT puis principales capitales.

Ou alors, tu affiches le compteur de l'horloge parlante sur Paris(http://www.horlogeparlante.com/gen_link/?set_lang=fr) et tu dis à quelle heure sur Paris la vente sera arrêtée.

Ou alors, tu fais de l'AJAX.

A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2008, 11h13   #7
Membre à l'essai
 
Inscription : août 2006
Messages : 54
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 54
Points : 20
Points : 20
Il est vrai que je ne me préoccupe pas beaucoup des internautes qui n'ont pas activée le Javascript mais y en a-t-il beaucoup ?
Beaucoup de site maintenant utilise le javascript avec Ajax, ils sont obligés, je ne sais pas comment ils gèrent ceux qui n'ont pas activé javascript.

Dès que j'ai le temps, je vais le faire en Ajax.
lonycc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2008, 19h41   #8
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 862
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 862
Points : 5 982
Points : 5 982
Il n'y en a pas beaucoup. Cela concerne surtout les entreprises qui misent sur la sécurité je pense.
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h19.


 
 
 
 
Partenaires

Hébergement Web