Alarm

Signaler
Messages postés
132
Date d'inscription
dimanche 4 décembre 2005
Statut
Membre
Dernière intervention
3 décembre 2013
-
Messages postés
132
Date d'inscription
dimanche 4 décembre 2005
Statut
Membre
Dernière intervention
3 décembre 2013
-
Bonjour, je voudrais faire un script que, on met l'alarm à telle heure, puis à cette heure précise, (si la fenêtre est ouvert, ça ouvre un "alert()" avec le texte qu'on a choisi.
Mais seulement rien ne marche, j'ai corrigé mes erreurs les plus visible, mais là ça marche pas et pourtant dans ma console d'erreur y a pas d'erreur;

Quelqu'un peut me trouver la faille?:

<script language="javascript">
function alrm(){
var d=new Date();
var h=d.getHours();
var m=d.getMinutes();
var s=d.getSeconds();
var hs=document.h.h.value;
var ms=document.h.m.value;
var ss=document.h.s.value;
var txt=document.h.txt.value;
var ghour=h+":"+m+":"+s;
var sgour=hs+":"+ms+":"+ss;
if(ghour==shour){
alert(txt);
}else{
setTimeout("alrm()",1000);
}
}
</script>

<form name="h">
:
::

Texte:

</form>

5 réponses

Messages postés
469
Date d'inscription
mercredi 9 janvier 2002
Statut
Membre
Dernière intervention
20 février 2017
6
Salut a toi,
déjà plusieurs chose ( et encore une fois ) utiliser document.getElementById plutôt que document.h.h.value.
Ensuite tu as deux fois h dans tes inputs. comme name ....
donc pour moi ton code serait plutôt
<script language="javascript">
function alrm(){
var d=new Date();
var h=d.getHours();
var m=d.getMinutes();
var s=d.getSeconds();
var hs=document.getElementById("h").value;
var ms=document.getElementById("m").value;
var ss=document.getElementById("s").value;
if(h==hs && m == ms && s==ss){
    // affiche le texte
    alert(document.getElementById("txt").value);
}else{
setTimeout("alrm()",1000);
}
}
</script>

<form name="h">
:
::

Texte:

</form>

quad dis-tu ?

[o-_-o]
Messages postés
132
Date d'inscription
dimanche 4 décembre 2005
Statut
Membre
Dernière intervention
3 décembre 2013
1
il n'y a pas d'erreur dans la console, tout est bien, mais c'est pourquoi je me demande pourquoi ça ne marche pas mais merci du conseil de getelementbyId
Messages postés
469
Date d'inscription
mercredi 9 janvier 2002
Statut
Membre
Dernière intervention
20 février 2017
6
Bah c'est simple, si tu regardes dans ton formulaire d'origine  ( comme l'a fait judicieusement constaté Bultez ), tu as :
 var ghour= h+":"+m+":"+s;
var sgour=hs+":"+ms+":"+ss;
if( ghour==shour ){

or la variable shour n'éxiste pas.

Ensuite dans ton formulaire:
<form name ="h">
:
::

du coup ça ne fonctionnera jamais vu que tu as deux fois le même name ( h ), ou plutôt ça fonctionnera mais uniquement à 10:10 ou 11:11... puis que tu ne récupères jamais les minutes !

voilà

[o-_-o]
Messages postés
132
Date d'inscription
dimanche 4 décembre 2005
Statut
Membre
Dernière intervention
3 décembre 2013
1
hein, merci, du coup j'avais pas vu ça merci (Bultez)
Je voulais écrire "shour" et "ghour" mais je me suis trompé!
Et pour l'autre heureur un autre affaire!
Messages postés
132
Date d'inscription
dimanche 4 décembre 2005
Statut
Membre
Dernière intervention
3 décembre 2013
1
en passant, ça ne marche toujours pas :(