Script [JS] calcul de l'age (avec mois + age)

Résolu
sommaille Messages postés 69 Statut Membre -  
Alain_42 Messages postés 5413 Statut Membre -
Bonjour,

Je souhaiterais avoir un script qui mettrais les informations suivantes :

J'ai 0 ans et 10 mois
(mais que cela ce fasse automatiquement) et que si l'age est 0 ans et 12 mois, cela passe a 1ans et 0 mois.

Je voudrais faire ce script de naissance avec cette date de naissance : 04/11/2011.

Merci bcp de votre aide !

Cordialement,

31 réponses

  • 1
  • 2
  1. Alain_42 Messages postés 5413 Statut Membre 904
     
    bon je t'ai fait ce petit script, j'espère avoir traité tous les cas:

    <html>
    <head>
    <script type="text/javascript">
    
    function calcul_age(id_naissance){
    	
    	var date_naissance=document.getElementById(id_naissance).value;
    	var elem_n = date_naissance.split('/');
    		jour_n = elem_n[0];
    		mois_n = elem_n[1];
    		annee_n = elem_n[2];
    	
    	var date_day = new Date();
    		jour_day = date_day.getDate();
    		mois_day = date_day.getMonth()+1;
    		annee_day = date_day.getFullYear();
    	
    	//calcul age
    	var ans; var mois; var age="";
    	
    	if(mois_day >= mois_n){
    		ans =  annee_day - annee_n;
    		mois= mois_day - mois_n;
    	}else{
    		ans =  (annee_day - annee_n) -1;
    		mois= mois_day +( 12 - mois_n);
    	}
    	if(jour_day < jour_n){	
    		mois= mois -1;
    		if(mois_day < mois_n){
    		ans =  ans -1;
    		}	
    	}
    	
    	if(ans >0 && ans <=1) age += ans+' an ';
    	if(ans >1) age += ans+' ans ';
    	if(mois >0) age +=mois+' mois ';
    	 // on affiche le résultat
    	document.getElementById('reponse').innerHTML = age;
    }
    
    </script>
    </head>
    <body>
    <form name="my_form" method="post" action="">
    Date naissance:<input type="text" name="date_naissance" id="date_naissance" value="" /><br />
    <input type="button" name="calcul"  value="Calculer" onclick="calcul_age('date_naissance');" /><br />
    <div id="reponse"><!-- la réponse va s'inscrire ici --></div>
    
    
    </form>
    </body>
    </html>
    5
  • 1
  • 2