je suis débutant en javascript. J’ai un formulaire avec une donnée. Je copie le contenu de mon formulaire pour pouvoir l’imprimer. Cela marche très bien sur Internet Explorer mais hélas pas sur firefox
Cela vient peut-être de cette fonction la :
document.getElementById(obj).innerHTML;
Quelqu’un pourrait-il m’aider à trouver la solution.
Voici mon code :
<div id='frs'>
<form name='vma'>
Votre Vitesse <input size="2" maxlength="5" name="vitesse" value="15" type="text">
<input value="Mise à jour" onclick="update()" type="button">
<input type="text" id="toto" name="x200" >
<input type="button" value="Imprimer en test" onclick="imprime_zone('test', 'frs')" >
</form>
</div id='frs'>
<script type="text/Javascript">
function update() {
document.vma.x200.value="10";
}
function imprime_zone(titre, obj)
{
// Définie la zone à imprimer
var zi = document.getElementById(obj).innerHTML;
// Ouvre une nouvelle fenetre
var f = window.open("", "ZoneImpr", "height=500, width=600,toolbar=0, menubar=0, scrollbars=1, resizable=1,status=0, location=0, left=10, top=10");
// Définit le Style de la page
f.document.body.style.color = '#000000';
f.document.body.style.backgroundColor = '#FFFFFF';
f.document.body.style.padding = "10px";
// Ajoute les Données
f.document.body.title = titre;
f.document.body.innerHTML += " " + zi + " ";
// Imprime et ferme la fenetre
f.window.print();
//f.window.close();
return true;
}
</script>
Ce n’est pas étonnant comme comportement : le texte est contenu dans value, pas dans .innerHTML. InnerHTML c’est le texte contenu dans la balise . Donc, quand tu écris dans le textarea faut pas s’attendre à voir quelque chose : tu ne touche pas au code HTML de cette façon.
merci de ta participation, c’est super sympa.
Juste pour te dire que cela marche très bien sur internet explorer, je ne vois pas pourquoi cela ne marche pas sur firefox.
Dans .innerHTML est inclus tout ce qu’il y a entre mes div.
Je répète ce que j’ai dis : pour moi, c’est un comportement normal de Fx. ie: ce qui est écrit après ne fait pas parti du tout du code HTML de la page une fois chargée. Ça pareil débile, mais pas tant. Et je pense, que tu dois avoir moyen (via la méthode que je te donne, à travailler certes) de corriger cela.
Maintenant :
j’ai pas testé ton script, je n’ai guère de temps pour cela
j’utilise peu ou prou innerHTML (je préfère manipuler DOM directement)