Variable [Résolu]

Signaler
Messages postés
22
Date d'inscription
lundi 21 novembre 2005
Statut
Membre
Dernière intervention
18 mai 2013
-
Messages postés
22
Date d'inscription
lundi 21 novembre 2005
Statut
Membre
Dernière intervention
18 mai 2013
-
Bonjour,

J'utilise actuellement le code :

function startX() {
document.chronoA.ctp.value=decompteur(1,7,2006,13,18,32);
document.chronoB.ctp.value=decompteur(3,7,2006,11,18,32);
document.chronoC.ctp.value=decompteur(28,7,2006,5,44,02);
document.chronoD.ctp.value=decompteur(28,6,2006,1,10,59);
setTimeout("startX()",1000);
}             

window.onload = startX;

4 chronos qui decomptent par rapport à une date.

Mon problème est que le nombre de chrono que je dois lancer varie.
Comme je debute en javascript, je ne sais pas comment rendre variable l'objet chrono.

en php, il me suffirait de mettre $chrono[$a] en incrementant la variable $a.

mais en javascript je n'arrive pas à trouver.

Si quelqu'un peut me guider

Merci

5 réponses

Messages postés
67
Date d'inscription
jeudi 30 janvier 2003
Statut
Membre
Dernière intervention
23 septembre 2008
1
// tu crée un tableau
var decompte=new Array();
decompte[0]=new Array(1,7,2006,13,18,32);
decompte[1]=new Array(3,7,2006,11,18,32);
decompte[2]=new Array(28,7,2006,5,44,02);
decompte[3]=new Array(28,6,2006,1,10,59);





function startX() {
for (i=0;i<=decompte.length-1;i++)
{
// ta balise de réception devra avoir un ID nommé : chrono_(valeur)
document.getElementById("chrono_"+i).value=decompteur(decompte[i][0],decompte[i][1],decompte[i][2],decompte[i][3],decompte[i][4],decompte[i][5]);
}
setTimeout("startX()",1000);
}           
window.onload = startX;





Le probleme était que compteur récupérer tout dans la variable jour
Messages postés
67
Date d'inscription
jeudi 30 janvier 2003
Statut
Membre
Dernière intervention
23 septembre 2008
1
Salut il te suffit de créer une boucle
comme ceci :

<script>
// tu crée un tableau
var decompte=new Array();
decompte[0]=new Array(1,7,2006,13,18,32);
decompte[1]=new Array(3,7,2006,11,18,32);
decompte[2]=new Array(28,7,2006,5,44,02);
decompte[3]=new Array(28,6,2006,1,10,59);



function startX() {
for (i=0;i<=decompte.length-1;i++)
{
// ta balise de réception devra avoir un ID nommé : chrono_(valeur)
document.getElementById("chrono_"+i).value=decompteur(decompte[i]);
}
setTimeout("startX()",1000);
}            
window.onload = startX;
</script>





Je ne sais pas si tu réceptionne dans un div en l'occurence pour mon test j'ai fais dans des input text

J'ai mis en document.getElementById je trouve que c'est plus propre ajoute ta fonction decompteur au script que je t'ai fais et ça devrais fonctionner
Messages postés
22
Date d'inscription
lundi 21 novembre 2005
Statut
Membre
Dernière intervention
18 mai 2013

Merci de ta réponse.

J'ai fais le test en rajoutant la fonction decompte :
<html>
<head>
<script>

function decompteur(jour,mois,annee,heure,minute,seconde) {
       Resultat = "";
       now = new Date();
       goal = new Date(annee,mois-1,jour,heure,minute,seconde);

       ts = Math.abs((now.getTime()/1000)-(goal.getTime()/1000));

        fjour = Math.floor(ts/(3600*24));
        if(fjour<1) {
                Resultat = "";
        } else {
                Resultat = fjour + "J";
        }

        ts = ts - (fjour*24*3600);
        fheure = Math.floor((ts/3600));
        if(fheure<10) {
                Resultat += " 0" + fheure + ":";
        } else {
                Resultat += " " + fheure + ":";
        }

        ts = ts - (fheure*3600);
        minutes = Math.floor((ts/60));
        if(minutes<10) {
                Resultat += "0" + minutes + ":";
        } else {
                Resultat += minutes + ":";
        }

        ts = ts - (minutes*60);
        fseconde = Math.floor(ts);
        if(fseconde<10) {
                Resultat += "0" + fseconde
        } else {
                Resultat += fseconde
        }

        return Resultat
}

// tu crée un tableau
var decompte=new Array();
decompte[0]=new Array(1,7,2006,13,18,32);
decompte[1]=new Array(3,7,2006,11,18,32);
decompte[2]=new Array(28,7,2006,5,44,02);
decompte[3]=new Array(28,6,2006,1,10,59);

function startX() {
for (i=0;i<=decompte.length-1;i++)
{
// ta balise de réception devra avoir un ID nommé : chrono_(valeur)
document.getElementById("chrono_"+i).value=decompteur(decompte[i]);
}
setTimeout("startX()",1000);
}           
window.onload = startX;
</script>

</head>

</html>

Quand je l'execute, les champs input m'affichent ceci :

On dirait que les données ne sont pas transferées à la fonction decompte ?
Messages postés
22
Date d'inscription
lundi 21 novembre 2005
Statut
Membre
Dernière intervention
18 mai 2013

Mon copier coller n'a pas marché, je disais :

Quand je l'execute, les champs input m'affichent ceci :
NaNJ NaN:NaN:NaN  NaNJ NaN:NaN:NaN  NaNJ NaN:NaN:NaN  NaNJ NaN:NaN:NaN 
Messages postés
22
Date d'inscription
lundi 21 novembre 2005
Statut
Membre
Dernière intervention
18 mai 2013

Merci pour tout