Scinder du code en deux pages

Prof_Matches Messages postés 21 Date d'inscription vendredi 24 février 2006 Statut Membre Dernière intervention 19 août 2010 - 19 août 2010 à 08:36
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 - 20 août 2010 à 11:20
Bonjour,

Voici le code que j'ai sur une page HTML :
J'aimerais avoir sur :
[*] - page 1 : les variables var et le résultat des document.write
[*] - page 2 : tout le reste : calcul des dates, conditions, switch, ... Ainsi, si je dois changer le code, je vais à un seul endroit.

Je ne connais pas javascript : je suis donc à l'écoute de vos solutions .
Ne serait-ce pas avec les fonctions Include ?
Merci d'avance.


Age :,
 <SCRIPT LANGUAGE="JavaScript">

var Jour_naiss= 17;
var Mois_naiss= 10;
var An_naiss= 1968;
var En_Vie= 1;
var Jour_deces= "?";
var Mois_deces= "?";
var Annee_deces= "?"

Data_Jour = new Date();
Jour = Data_Jour.getDate();

Data_Mois = new Date();
Mois= Data_Mois.getMonth();

Data_Annee = new Date();
Annee= Data_Annee.getFullYear();

//------------------------------------
//document.write('' + Jour + "/" + //(Mois+1) + "/" + Annee + '' + '
');
//------------------------------------
var annif_an
annif_an = Annee - An_naiss

switch (En_Vie){
case 1:if ((Mois+1) < Mois_naiss) {
document.write(annif_an -1 + " ans")
}
else { if ((Mois+1) == Mois_naiss) {
if (Jour <= Jour_naiss) {
document.write(annif_an - 1 + " ans")
}
else { document.write(annif_an + " ans")
}
}
else { document.write(annif_an + " ans")
}
};
break;
case 0:document.write("né en " + An_naiss + " - décédé en " + Annee_deces);
break;
}

</SCRIPT> 
 

1 réponse

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
20 août 2010 à 11:20
Bonjour,
préférable de faire une fonction et de la mettre dans un fichier séparé, par exemple calcul.js que tu inclus dans ta page grâce à la syntaxe
<script type= "text/javascript" src="calcul.js">

concernant la fonction on passe en paramètres le jour mois et année et celle ci renvoie une chaine avec le résultat
exemple :
//----------------------------------
function Calcul( j_, m_, a_, envie_){
  var szReturn  = "";   // Chaine retournee par la fonction
  //-- Initialisation
  var Jour_naiss = j_;     // Init jour
  var Mois_naiss = m_;     // Init mois
  var An_naiss   = a_;     // Init annee
  var En_Vie     = envie_; // Init vivant
  //-- Recup date du jour
  var Today = new Date();
  //-- Recup Jour
  var Jour = Today.getDate();
  //-- Recup Mois
  var Mois = Today.getMonth();
  //-- Recup Annee
  var Annee = Today.getFullYear();
  //-- Ton Calcul
  var annif_an = Annee - An_naiss;
  //-- Formatage de la sortie
  switch (En_Vie) {
  case 1:
    if ((Mois + 1) < Mois_naiss) {
      szReturn = annif_an - 1 + " ans";
    } else {
      if ((Mois + 1) == Mois_naiss) {
        if (Jour <= Jour_naiss) {
          szReturn = annif_an - 1 + " ans";
        } else {
          szReturn = annif_an + " ans";
        }
      } else {
        szReturn = annif_an + " ans";
      }
    }
    break;
  case 0:
    szReturn = "né en " + An_naiss + " - décédé en " + Annee_deces;
    break;
  }
  return( szReturn); // retourne la chaine de caracteres
}

ATTENTION : je n'ai pas repris la gestion des dates de décès...
et l'appel de a fonction ce fait de la façon suivante
document.write( Calcul( 15, 8, 1900, 1)); // par exemple


Voila pour le principe...
Sans préjuger de l'exactitude des résultats

;O)
0
Rejoignez-nous