Pages : 1
#1 Le 01/06/2015, à 14:18
- hyppothalus
Problème Javascript
Bonjour,
Je me permets de vous écrire car j'ai un souçis avec du code Javascript (Honte à moi...)
Voici le code HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>MyLearn</title>
<script type="text/javascript" src="Kernel.js"> </script>
</head>
<body>
<div id="intros">Tu oublies</div>
<div onClick="MyTest()" id="button">Cliquez ici</div>
</body>
</html>
Et voici le fichier Javascript
function MyTest()
{
var intro = document.getElementById('intros').interHTML;
alert(intro);
intro.interHTML = 'Que je suis ton père';
}
Et là rien ne se passe je suis perdu car même dans l'alert rien ne s'affiche (la honte je sais)
Je vous remercies d'avance car je sais que c'est encore un truc à la *bip*
Cordialement,
Dernière modification par hyppothalus (Le 01/06/2015, à 14:18)
La radio du libre c'est Radio-Virtuelle
http://www.radio-virtuelle.fr
Hors ligne
#2 Le 01/06/2015, à 14:56
- hyppothalus
Re : Problème Javascript
Résolu: c'était innerHTML et non pas interHTML...
Résolu
La radio du libre c'est Radio-Virtuelle
http://www.radio-virtuelle.fr
Hors ligne
#3 Le 23/06/2015, à 17:40
- gaffeur
Re : Problème Javascript
Hello,
Bien vu ! ... dans ce cas, passe ton sujet en "résolu" dans le forum, s.t.p. ! ( ... c'est au niveau du titre que ça se passe ...)
Celui qui pose des questions apprend. Celui qui croit tout savoir n'apprend rien ! ...
Hors ligne
#4 Le 23/06/2015, à 19:57
- Rufus T. Firefly
Re : Problème Javascript
Salut,
Juste en passant :
<div> est une balise neutre, pour créer des blocs qui contiennent toutes sortes de choses et qui peuvent ainsi être isolés les uns des autres (et être mis en forme, en particulier positionnés, via des css).
Donc au lieu de ça :
<div id="intros">Tu oublies</div>
il vaut mieux mettre ça :
<p id="intros">Tu oublies</p>
Idem pour l'autre div
Par ailleurs, il vaut mieux éviter de mettre du code (tout comme de la mise en forme) dans les balises. Pour un essai ça va bien, mais c'est très vite impossible à maintenir si tu en prends la mauvaise habitude...
Une solution possible c'est d'ajouter un capteur dans ton script de la façon suivante (il y a d'autres possibilités, avec addEventListener ) :
function MyTest()
{
var bouton = getElementById ('button');
bouton.onclick = function () { // capteur pour clic
var intro = document.getElementById('intros').innerHTML;
alert(intro);
intro.innerHTML = 'Que je suis ton père';
};
}
window.onload = MyTest; // activation du capteur au chargement de la page
Et le html :
<p id="button">Cliquez ici</p>
Ça fera exactement la même chose, mais tout ton javascript est centralisé dans ton fichier .js et il n'y en a aucun dans ton html... Il faut vraiment s'habituer à raisonner comme ça et à séparer complètement ce qui est contenu statique et sémantique de ce qui qui rend les pages dynamiques (javascript) et de ce qui les met en forme (css).
Edit : il y a un truc bizarre dans ton code : var intro = ...innerHTML;
et ensuite tu fais intro.innerHTML = ...;
intro c'est déjà innerHTML d'un élement.
Dernière modification par Rufus T. Firefly (Le 23/06/2015, à 21:55)
La provocation est une façon de remettre la réalité sur ses pieds. (Bertolt Brecht)
Il n'y a pas de route royale pour la science et ceux-là seulement ont chance d'arriver à ses sommets lumineux qui ne craignent pas de se fatiguer à gravir ses sentiers escarpés. (Karl Marx)
Il est devenu plus facile de penser la fin du monde que la fin du capitalisme
Hors ligne
Pages : 1