11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,
Le code ci-dessous fonctionne sous IE mais pas sous FF.
Firebug m'affiche l'erreur suivante : GID("ebox").document is undefined


<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  <title></title>
  </head>
  <body>
      <a href="javascript:alert(ebox.innerHTML)">Source</a>&nbsp;
      <a href="javascript:bold()">bold</a>
      <div id="ebox" name="ebox" ContentEditable="True" style="border:1px solid #000000; height:150px; width:250px; overflow:auto;">
        Bonjour<BR> <B>gras</B> <I>italique</I> <U>souligné</U>
      </div>
      <script language="javascript" type="text/javascript">
        document.getElementById('ebox').focus();
        //ebox.innerHTML = "";
        function Get_Texte_Select(){
          alert(GID('ebox').document.selection.createRange());
	      }
	      function GID(aID){
          return (document.getElementById ? document.getElementById(aID) : document.all[aID]);
        }
	      function bold() {
          GID('ebox').focus();
          GID('ebox').document.execCommand('Bold');
        }
      </script>
  </body>
</html>


Merci du temps que vous pourrez me consacrer ...
Modifié par nanounel (03 Dec 2009 - 15:00)
Tu appelles ta fonction bold() avant que l'élément 'ebox' dessous soit chargé.
Renseigne toi sur le window.onload, dom ready.
Tu devrais penser à utilise un framework javascript comme jQuery. Ca permet de gérer les différences de codes entre navigateur
Merci MoOx pour le temps que tu m'as consacré,

je vais aller regarder du côté de window.onload dom ready.