-
innerHTML vs. value
Bonjour
Je me lance dans le JS (pour maitriser AJAX en fait) et je tombe face à un problème qui me rend perplexe :
Dans un exemple je vois :
input.document.createElement("textarea");
input.value = "toto";
et sous Safari (;-o) ça ne marche pas, après plusieurs tatonnements je mets :
input.innerHTML = "toto"; et ça marche.
Inversement dans une autre partie (l'affichage) j'ai une zone de texte et un div :
<input id="txt" type="text" name="txt"/>
<div id="ici"></div>
et je m'aperçois que la synthaxe :
document.getElementById("xxx").value = "toto";
marche pour le texte mais pas pour le div, et que la synthaxe:
document.getElementById("xxx").innerHTML = "toto";
fonctionne pour le div, mais pas pour le texte (:-((
Je suis un peu perdu, donc ma question c'est : "où donc c'est-y qu'on peut trouver un document, une référence qui me permette de savoir comment (avec quelle synthaxe) je dois attaquer les différents objets ???
Si quelqu'un pouvait me filer un coup de main cela serait plutot sympa
Merci et à bientot
olivier
-
Bonjour,
value = attribut "value" de l'élément (sa valeur, quoi)
innerHTML = "contenu" du tag => ce qui est compris entre le tag de début et le tag de fin.
Code:
<div id="le_div"><a href="toto.html">Toto</a></div>
document.getElementById("le_div").innerHTML renverra :
<a href="toto.html">Toto</a>
Attention : document.getElementById("le_div").innerText renverra :
Toto
(HTML non pris en compte)
A ma connaissance, <textarea> est la seule exception, pour laquelle on considère le inneHTML comme sa value (et on y accède par .value). C'est aussi le seul pour lequel le innerHTML est envoyé dans un form ...
Mais visiblement, ça dépend des nav' :aie:
A+