11486 sujets

JavaScript, DOM et API Web HTML5

Pages :
bonjour a tous ,
j'essaie d'apprendre a calculer l'age avec la date de naissance et souhaiter l'anniversaire, à partir des années 2000 les calculs ne sont pas corrects. et mon script n'est pas fonctionnel avec la fonction window.addEventListener("load", function() {
document.getElementById("calcul").addEventListener("click",calculer)
});

voir le jsfiddle ....
Modifié par moon28 (05 Sep 2017 - 14:43)
Salut

Si tu relis ton code avec les balises tu vois des problème de couleur (je parle uniquement du code HTML) et plus particulièrement cette ligne

	<INPUT type=button value="Calcul de l'âge"/>onClick="alert('Age = '+tjs_age(this.form.dt_naissance.value))">


les couleurs ne sont carrément pas anodines, le onClick est très mal placé, après une fermeture de balise... essaye de rectifier cela d'abord.


(d'ailleurs, petite question, tu code avec quoi comme logiciel ? )
JENCAL a écrit :
Salut

Si tu relis ton code avec les balises tu vois des problème de couleur (je parle uniquement du code HTML) et plus particulièrement cette ligne

	&lt;INPUT type=button value="Calcul de l'âge"/&gt;onClick="alert('Age = '+tjs_age(this.form.dt_naissance.value))"&gt;


les couleurs ne sont carrément pas anodines, le onClick est très mal placé, après une fermeture de balise... essaye de rectifier cela d'abord.


(d'ailleurs, petite question, tu code avec quoi comme logiciel ? )


salut jencal merci pr ta reponse je code avec notepad+++ mais jetais en train de supprimer onclik pour mettre la fonction dans mon fichier externe js, jai encore du mal avec cette methode addeventlistener...
erreur console sur cette ligne : var age = date_actuelle.getFullYear() - annee;

la variable "annee" n'existe pas. comme la variable "mois". comme toutes celles que tu as déclaré dans le scope de ta fonction

De plus, dans ta fonction checkdate
tu utilise
      var jour = parseInt(document.getElementById("jour").value);
			var mois = parseInt(document.getElementById("mois").value); 
			var annee = parseInt(document.getElementById("annee").value);


mais dans ton HTML je ne vois pas les id jour, mois, année
Modifié par JENCAL (01 Sep 2017 - 11:53)
Voila c'est mieux je pense :

https://codepen.io/JUSEN/pen/RZvKLr

par contre je te laisse "traiter" la variable retrourner par "document.getElementById("dateInput").value".

j'ai enlever tes vrais fonction car avec le champ input type date tu as forcément un date valide.
JENCAL a écrit :
Voila c'est mieux je pense :

https://codepen.io/JUSEN/pen/RZvKLr

par contre je te laisse "traiter" la variable retrourner par "document.getElementById("dateInput").value".

j'ai enlever tes vrais fonction car avec le champ input type date tu as forcément un date valide.


merci jencal jai fai un test , sur quel fonction je regle la date de naissance en fait?
JENCAL a écrit :
j'ai pas compris ta question.


en fait quelque soit la date il me met vous avez 2017 ans, donc c'est la que je ne sais pas comment appliquer la fonction. enfin si tu connai un tutos ou je pourrais apprendre, car la je suis perdu
malheuresuement il n'y à pas de "tuto" pour apprendre à calculer l'age. il y a par contre des tutos pour apprendre le javascript.

Il te dit "2017 ans" car je n'ai pas fait le calcul de la date, c'est à toi de coder cela.
actuellement il te sort 2017 car les variables sont à zéro :

annee = 0;
mois = 0;
jour = 0;


à toi de parser le résultat qui se trouve dans
document.getElementById("dateInput").value

pour remplacer les zéro.
JENCAL a écrit :
malheuresuement il n'y à pas de "tuto" pour apprendre à calculer l'age. il y a par contre des tutos pour apprendre le javascript.

Il te dit "2017 ans" car je n'ai pas fait le calcul de la date, c'est à toi de coder cela.
actuellement il te sort 2017 car les variables sont à zéro :

annee = 0;
mois = 0;
jour = 0;


à toi de parser le résultat qui se trouve dans
document.getElementById("dateInput").value

pour remplacer les zéro.


merci je v travailler dessus et comprendre Smiley cligne
jai finalement repris mon ancien script ca marche par contre je n'arrive pas souhaiter l'anniversaire

var today=new Date(),
    mois_actuel= today.getMonth() +1,
    jour_actuel= today.getDate();
    
 
if (mois_actuel === 5 && jour_actuel === 3) {
}

alert ("Bon anniversaire!!");


j'avais mis l'alerte en dehors des accolades et c'est quand j'actualise la page que ca marchait. sinon jai vu une solution avec document write mais je ne veux pas l'utiliser.

quelqu un peu m'aider svp?

merci
j'ai pas compris quel aide tu voulais sur çà ? c'est quoi le problème. montre plus de code
JENCAL a écrit :
j'ai pas compris quel aide tu voulais sur çà ? c'est quoi le problème. montre plus de code


le message bon anniversaire ne s'affiche pas
voila le js fiddle : https://jsfiddle.net/u3aeqLcx/
Modifié par moon28 (05 Sep 2017 - 14:41)
Ton jsfiddle ne fonctionne pas du tout, pas que pour l'anniversaire :
dès que je clic : Uncaught ReferenceError: tjs_age is not defined
c'est écrit pourquoi. parce que tjs_age is not defined. Tu ne peux pas mettre une fonction dans un alert dans un onclick.

par contre tu peux mettre un appel de fonction dans ton onclick et avoir une alert à la fin de ta fonction. ce qui revient au même

là c'est mieux https://codepen.io/JUSEN/pen/MvRovo?editors=1010
Modifié par JENCAL (05 Sep 2017 - 15:09)
Pages :