Déclenchement d'une alerte suivant une heure définie

Résolu
Signaler
Messages postés
28
Date d'inscription
dimanche 29 avril 2007
Statut
Membre
Dernière intervention
28 mai 2008
-
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
-
salut tt le monde
Je suis un débutant en java dans et je souhaiterais lancé une alerte apres 21h15
pour cela j'ai fais mon petit programme en java script dans une jsp.
mon programme ne marche pas,
vous pouvez m'aidé
Merci bcppp d'avance,
Voici le code que j'ai mis dans la jsp

<

script language=
"Javascript">
function Time()
{
Digitale =
new date();
heure = Digitale.getHours();
minute = Digitale.getMinutes();

if (heure == 21 && minute == 15)

{
alerte(
"pensez a sauvgarder vos données le site sera fermé apres 21h30!!!");

}
}
</script>

13 réponses

Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
37
Salut,

il ne faut pas confondre javascript avec java, java est un langage compilé, javascript est un langage de script directement interprèté par le navigateur : pas de compilation !!!

il n'y a pas de 'e' a la fin de alert !!!

Si t'a besoin d'aide, MP !!!
Messages postés
75
Date d'inscription
mardi 20 novembre 2007
Statut
Membre
Dernière intervention
9 janvier 2009
2
Salut,

Ton code semble  incomplet et je crois que tu confonds toujours java et javascript.
Il te manque un timer pour lancer ta fonction périodiquement.

Regarde du coté de la fonction setTimeout :


setTimeout ("Fonction / Expression", Delai );

Les indications de Zobibol sont bonnes, il faut un code un peu plus élaboré à mon avis.

Bonne chance,
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
Bonjour,

    en plus de ce qu'ont dit les autres intervenants, à juste titre,
       si le javascript est dans un .js, ce fichier ne doit comporter que du javascript
       et rien d'autre !   donc pas de balise <script....> </script>.

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
469
Date d'inscription
mercredi 9 janvier 2002
Statut
Membre
Dernière intervention
20 février 2017
6
Après une bonne nuit de repos bien mérité, la méthode time(), tu l'appeles ou ?
parce qu'inclure un fichier (jsp ???) avec un tag script c'est déjà pas super propre ....
si c'est une page jsp, il y a :



<jsp:include page="MyPage.jsp" />




si c'est du javascript




<SCRIPT language
=
javascript
src
=
"alerte.js"
></
SCRIPT
>






puis ensuite dans la page il faut appeler la méthode time()
voire, encore mieux, faire un truc du style:



setInterval("time", 1000)







et voilà le travail !






[o-_-o]
Messages postés
469
Date d'inscription
mercredi 9 janvier 2002
Statut
Membre
Dernière intervention
20 février 2017
6
Bah une fois qu'il est 21h15(ou plus d'ailleurs) tu kill ton timer :

<script language="Javascript">
// initialise l'interval
var timer = setInterval("time()", 1000); // ok, je sais vérifier toutes les secondes, c'est un peu naze
function Time(){
    Digitale = new date();
    heure = Digitale.getHours();
    minute = Digitale.getMinutes();    if (heure 21 && minute 15)
        {
            alert("pensez a sauvegarder vos données le site sera fermé apres 21h30!!!");
            clearInterval(timer);
        }
}
</script>

[o-_-o]
Messages postés
28
Date d'inscription
dimanche 29 avril 2007
Statut
Membre
Dernière intervention
28 mai 2008

Ca marcheeeeeeeee,
grace à vous j'ai pu faire mon pti programme.
Merci Zobibol pour la fonction et a vous tous.

juste une autre question toute bête
pour faire appel à ma jsp j'ai utilisé:
<jsp:include page="login/alerte.jsp" />
j'aimerais savoir s'elle doit etre spécialement à l'interieur d'une balise précise dans l'autre jsp ? Merci.

Voici le code pour ceux qui veulent s'en sevrir.
<

html>
<head>
<title>date & heure systeme
</title>
</head>
<script language=
"JavaScript">
// initialise l'interval
var timer = setInterval(
"Time()", 1000);

function Time()

{
var d =
new Date();
heure =d.getHours();
minute =d.getMinutes();
sec =d.getSeconds();
sec0=
"" ; min0=
"" ; heure0=
"" ;

if(sec<10)
sec0=
"0";

if (minute<10)
min0=
"0";

if (heure<10)
heure0=
"0";
sec0+=sec;
min0+=minute;
heure0+=heure;

if (heure0 == 21 && min0 == 15 && sec0 == 00 )

{
alert(
"pensez a sauvegarder vos données le site sera fermé après 21h30!!!");

}
document.aaa.ccc.value=heure0+
':'+min0+
':'+sec0;

//window.document.write(heure0+':'+min0+':'+sec0);
pa = setTimeout(
"Time()",1000);

}
</script>
<body onLoad=
"Time()" onUnload=
"clearTimeout(pa)">
</body>
<form name=
"aaa">
HEURE:
<input name=
"ccc" type=
"text">
</form>
</html>
Messages postés
469
Date d'inscription
mercredi 9 janvier 2002
Statut
Membre
Dernière intervention
20 février 2017
6
Pour ce qui est du positionnement de la balise




<jsp:include page




il n'y a pas de position précise ni de balise tu la mets ou bon te semble.
En outre, il y a toujours le problème de l'utilisateur qui va se conneter à 21h16 et qui ne verra pas le message...
il faudrait affiner ton test
if (heure0 == 21 && min0 >= 15 && sec0 == 00 )
de plus, la méthode time() est appelé deux fois, il faut : soit que tu supprimes l'appel à onload du body , soit (le plus simple) que tu supprimes

var timer = setInterval(
"Time()", 1000);

et dans ton test

if (heure0 == 21 && min0 >= 15 && sec0 == 00 )   ajoute donc
clearTimeout(pa) (après le alert) comme ça tu libères un peu de mémoire. (pfiou mais pourquoi que j'écris donc en bleu moi ???)

[o-_-o]
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
37
Si ton problème est règlé merci de mettre la réponse qui t'a aidé en répone accèpté !!!

Si t'a besoin d'aide, MP !!!
Messages postés
469
Date d'inscription
mercredi 9 janvier 2002
Statut
Membre
Dernière intervention
20 février 2017
6
Bonjour, en effet, il n'y a pas de e à la fin de alert ... c'est peu être celui de sauvegarde qui s'est barré ;o) "sauvgarder"
Ensuite c'est ultra restrictif comme test, si le gars se connect à 21h16, il aura jamais le message....
Et enfin, il faut lancer un timer parce que s'il  est connecté avant 21h15, il n'aura jamais le message non plus !!!
ça devient un poil plus complexe a gérer !

[o-_-o]
Messages postés
28
Date d'inscription
dimanche 29 avril 2007
Statut
Membre
Dernière intervention
28 mai 2008

Merci pour votre réponse, j'ai rectifié mais malheureusement ca ne marche tjr pas.


J'aimerais juste vous précisez que je fais appel a cette jsp a l'aide de :


<SCRIPT language=
javascript src=
"alerte.jsp"></SCRIPT> dans une autre jsp

Je ne sais vraiment pas si ca marche avec ca ou pas.
jugez-vous que le code est complet ?
Merci encore pour votre aide.
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
37
A oui, j'avais complètement loupé ce passage !!!

merci bulez, a++

Si t'a besoin d'aide, MP !!!
Messages postés
28
Date d'inscription
dimanche 29 avril 2007
Statut
Membre
Dernière intervention
28 mai 2008

Bonjour,
J'espere que vous allez bien et que vous passez une bonne matinée,
je vous remercie d'abord pour toutes ces informations qui m'ont vraiment aidé pour mieux optimiser mes recherches.
Alors, mon code javascript je le met dans une jsp, et si j'utilise la fonction setTimeout ("Fonction / Expression", Delai );ne marchera pas dans mon cas car je souhaiterais que le delai soit fixe.
càd: Une fois l'heure est à 21h15 une boite de dialogue se déclenche pour informer les internautes de sauvegarder leur données.
Messages postés
28
Date d'inscription
dimanche 29 avril 2007
Statut
Membre
Dernière intervention
28 mai 2008

Merci Zobibol, c'est fait .
Merci pour votre aide.