Javascript inerhtml je comprends pas !

fraid -  
Kcazer Messages postés 26 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je suis vraiment débutant en javascript,
j'ai essayer de créer un code qui rajoute du contenu à la page courante à chaque fois que l'utilisateur clic sur le boutton, mais cela ne marche que pour le 1er clic, pouvez vous me dire où est le soucis dans mon code ??

voici mon code :

note : la valeur de mon champs texte est bien incrémentée à chaque fois..


<script type="text/javascript">
function changeText()
{
var i = document.getElementById('aa').value;

var u = i;

i++;

document.getElementById('div'+u+'').innerHTML = '<div id=div'+i+'> test </div><br />';

document.getElementById('aa').value=''+i+'';
}
</script>

<input type='button' onclick='changeText()' value='Change Text'/>
<input type=text name=aa value="0"><br><br>
<div id=div0></div>



merci d'avance

3 réponses

Kcazer Messages postés 26 Date d'inscription   Statut Membre Dernière intervention   21
 
Salut,

Ton script fonctionne, mais ce n'est tout simplement pas visible à cause d'une petite erreur.
Quand tu utilises
document.getElementById('div'+u+'').innerHTML = '<div id=div'+i+'> test </div><br />';

cela remplace l'integralité de la balise, et donc efface ce qui était dedans avant.

En clair: (avec en gras, l'avant/apres clic)
Au debut: <div id=div0></div>
Au 1er clic: <div id=div0><div id=div1>test</div><br/></div>
2nd clic: <div id=div0><div id=div1><div id=div2>test</div><br/></div><br/></div>

Pour corriger ce probleme, tu devrais utiliser:
document.getElementById('div'+u+'').innerHTML += '<div id=div'+i+'> test </div><br />';

afin d'ajouter le nouveau contenu a la fin de ce qui est deja dans le div.

En esperant que ça t'aide ;)

ps: les balises div vont se retrouver imbriquées, c'est voulu ? De plus, il n'est pas vraiment utile d'utiliser le <br/> car les balises div sont des balises de type block (retour à la ligne avant et apres automatique, a moins de le modifier via le css)
0
fraid
 
magnifique !

je vous remercie !
0
Kcazer Messages postés 26 Date d'inscription   Statut Membre Dernière intervention   21
 
N'oublie pas de passer le topic en résolu dans ce cas ;)
0