Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1453 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [RESOLU] javascript enfantin mais not defined

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU] javascript enfantin mais not defined

n°1641104
popovitch
Posté le 11-11-2007 à 18:55:55  profilanswer
 

Hello
 
Voici une fonction d'écolier, et oui, je m'initie au javascript, il est jamais trop tard pour apprendre ...
mais voilà, la console Firefox 2.0 me répond ajouterTableau is Not Defined.
 
Là je séche ..., j'ai essayé de changer les attributs de la balise <SCRIPT>, virer les <META> etc de Dreamweaver
mais rien n'y fait. Au mieux j'avais une fonction qui ne fesait rien, de mémoire  en mettant juste <SCRIPT language="javascript"> ... Merci les courageux du dimanche soir ;o)
 

Code :
  1. <HTML>
  2. <TITLE> un titre bidon </ TITLE
  3. <HEAD>
  4. <SCRIPT type="text/javascript" language="javascript">
  5.    
  6. function ajouterTableau(nbLignes, nbColonnes){
  7.      var fragment = document.createDocumentFragment();
  8.      var body = document.getElementsByTag("body" )[0];
  9.      var table = document.createElement("table" );
  10.    
  11.      for(i=0; i<nbLignes; i++){
  12.            var tr = document.createElement("tr" );
  13.            for(j=0; j<nbColonnes; j++){
  14. Oui, il y a une faute de frappe sur la passerelle d'XP, c'est bien 192.168.0.2 mais ça marche pas.
  15.                 var td = document.createElement("td" );
  16.                 tr.appendChild(td);
  17.           }
  18.           table.appendChild(tr);
  19.      }
  20.      fragment.appendChild(table);
  21.      body.appendChild(fragment);
  22. }
  23. </SCRIPT>
  24. </HEAD>
  25. <BODY onLoad="ajouterTableau(2,3)">
  26. </BODY>


Message édité par popovitch le 11-11-2007 à 23:05:54
mood
Publicité
Posté le 11-11-2007 à 18:55:55  profilanswer
 

n°1641224
mIRROR
Chevreuillobolchévik
Posté le 11-11-2007 à 21:21:36  profilanswer
 

je crois que ca vient juste de la casse sur onload mets tout en minuscules pour voir


---------------
« The enemy is the gramophone mind, whether or not one agrees with the record that is being played at the moment. » — George Orwell
n°1641257
SICKofitAL​L
misanthrope
Posté le 11-11-2007 à 22:47:34  profilanswer
 

le onload passe (mais c vrai, c en miniscule si tu le places directement via document.onload)

 

essaye ca, ton getElementsByTagName était faux :

Code :
  1. function ajouterTableau (nbLignes, nbColonnes)
  2. {
  3.       var fragment = document.createDocumentFragment ();
  4.       var body = document.getElementsByTagName ("body" )[0];
  5.       var table = document.createElement ("table" );
  6.    
  7.       for (var i = 0; i < nbLignes; i++)
  8.   {
  9.             var tr = document.createElement ("tr" );
  10.             for(j = 0; j < nbColonnes; j++)
  11.   {
  12.                  var td = document.createElement ("td" );
  13.     td.innerHTML = "texte";
  14.                  tr.appendChild (td);
  15.            }
  16.            table.appendChild (tr);
  17.       }
  18.       fragment.appendChild (table);
  19.       body.appendChild (fragment);
  20. }

Message cité 1 fois
Message édité par SICKofitALL le 11-11-2007 à 22:49:10

---------------
We deserve everything that's coming...
n°1641258
popovitch
Posté le 11-11-2007 à 22:53:54  profilanswer
 

Effectivement, vous avez raison c t bien la casse.
Ceci étant, le source de ma page n'a pas changé et je ne vois pas de balises <table>
inséré dans le source ... si vous avez des pistes je suis tout ouï
 

mIRROR a écrit :

je crois que ca vient juste de la casse sur onload mets tout en minuscules pour voir


n°1641261
SICKofitAL​L
misanthrope
Posté le 11-11-2007 à 22:58:30  profilanswer
 

popovitch a écrit :

Effectivement, vous avez raison c t bien la casse.
Ceci étant, le source de ma page n'a pas changé et je ne vois pas de balises <table>
inséré dans le source ... si vous avez des pistes je suis tout ouï
 


 
ben reprends mon code, ca te donne ca :

Code :
  1. <html><head><title>un titre bidon</title><!-- TITLE
  2. <HEAD-->
  3. <script type="text/javascript" language="javascript">
  4.    
  5. function ajouterTableau(nbLignes, nbColonnes){
  6.       var fragment = document.createDocumentFragment();
  7.       var body = document.getElementsByTagName("body" )[0];
  8.       var table = document.createElement("table" );
  9.    
  10.       for(var i=0; i<nbLignes; i++){
  11.             var tr = document.createElement("tr" );
  12.             for( var j=0; j<nbColonnes; j++){
  13.                  var td = document.createElement("td" );
  14.     td.innerHTML = "texte";
  15.                  tr.appendChild(td);
  16.            }
  17.            table.appendChild(tr);
  18.       }
  19.       fragment.appendChild(table);
  20.       body.appendChild(fragment);
  21. }
  22. </script></head><body onload="ajouterTableau(2,3)">
  23. <table><tr><td>texte</td><td>texte</td><td>texte</td></tr><tr><td>texte</td><td>texte</td><td>texte</td></tr></table></body></html>


---------------
We deserve everything that's coming...
n°1641262
mIRROR
Chevreuillobolchévik
Posté le 11-11-2007 à 23:02:46  profilanswer
 

popovitch a écrit :

Effectivement, vous avez raison c t bien la casse.
Ceci étant, le source de ma page n'a pas changé et je ne vois pas de balises <table>
inséré dans le source ... si vous avez des pistes je suis tout ouï
 


 
les tables ne seront pas insérées dans le source mais dans le source "généré" [:aloy]
pour l instant je ne connais que cette extension firefox qui lit le source généré


---------------
« The enemy is the gramophone mind, whether or not one agrees with the record that is being played at the moment. » — George Orwell
n°1641263
popovitch
Posté le 11-11-2007 à 23:04:09  profilanswer
 

Merci beaucoup c sympa je vais pouvoir aller me coucher l'esprit plus serein (hé oui je suis moi con qu'hier mais c'était pas gagné d'avance  :jap: )
Pour info, si je n'avais pas introduit de texte je n'aurais jamais vu le resultat car javascript ne modifie pas la structure du document HTML en fait ou il modifie son interprétation juste avant l'affichage c ça ? (je suis pas sur de bien comprendre)  
 

SICKofitALL a écrit :

le onload passe (mais c vrai, c en miniscule si tu le places directement via document.onload)
 
essaye ca, ton getElementsByTagName était faux :

Code :
  1. function ajouterTableau (nbLignes, nbColonnes)
  2. {
  3.       var fragment = document.createDocumentFragment ();
  4.       var body = document.getElementsByTagName ("body" )[0];
  5.       var table = document.createElement ("table" );
  6.    
  7.       for (var i = 0; i < nbLignes; i++)
  8.   {
  9.             var tr = document.createElement ("tr" );
  10.             for(j = 0; j < nbColonnes; j++)
  11.   {
  12.                  var td = document.createElement ("td" );
  13.     td.innerHTML = "texte";
  14.                  tr.appendChild (td);
  15.            }
  16.            table.appendChild (tr);
  17.       }
  18.       fragment.appendChild (table);
  19.       body.appendChild (fragment);
  20. }



n°1641265
popovitch
Posté le 11-11-2007 à 23:05:31  profilanswer
 

vous postez rapidement les mecs ! c super merci pour ces explications !

n°1641266
SICKofitAL​L
misanthrope
Posté le 11-11-2007 à 23:07:06  profilanswer
 

A noter que que pour séparer le html du js, tu peux placer ca apres la définition de ta fonction :

Code :
  1. window.onload = function () { ajouterTableau(2,3) };


 
et là la casse du onload est importante
 
sinon +1 pour mIRROR, ya aussi FireBug qui est un excellent complément à la premiere :)


---------------
We deserve everything that's coming...
n°1641270
SICKofitAL​L
misanthrope
Posté le 11-11-2007 à 23:10:26  profilanswer
 

popovitch a écrit :

Merci beaucoup c sympa je vais pouvoir aller me coucher l'esprit plus serein (hé oui je suis moi con qu'hier mais c'était pas gagné d'avance  :jap: )
Pour info, si je n'avais pas introduit de texte je n'aurais jamais vu le resultat car javascript ne modifie pas la structure du document HTML en fait ou il modifie son interprétation juste avant l'affichage c ça ? (je suis pas sur de bien comprendre)  
 


 
tu peux modifier ce que tu veux dans ta page avec le JS, la seule contrainte est qu'elle soit chargée (d'où le "onload" )
Mais, lorsque tu demandes d'afficher la source, le navigateur te montre la page telle qu'elle lui est arrivée.
Toutes les modifs que tu fais ensuite le browser les applique, mais la source, càd le fichier original qui vient du serveur, reste le même :)


---------------
We deserve everything that's coming...
mood
Publicité
Posté le 11-11-2007 à 23:10:26  profilanswer
 

n°1641272
mIRROR
Chevreuillobolchévik
Posté le 11-11-2007 à 23:13:41  profilanswer
 

SICKofitALL a écrit :

A noter que que pour séparer le html du js, tu peux placer ca apres la définition de ta fonction :

Code :
  1. window.onload = function () { ajouterTableau(2,3) };


 
et là la casse du onload est importante
 
sinon +1 pour mIRROR, ya aussi FireBug qui est un excellent complément à la premiere :)


 
toutes mes confuses j oublie souvent que firebug lit le code généré :jap:
et il est nettement mieux que webdeveloper d ailleurs


---------------
« The enemy is the gramophone mind, whether or not one agrees with the record that is being played at the moment. » — George Orwell
n°1641273
SICKofitAL​L
misanthrope
Posté le 11-11-2007 à 23:14:56  profilanswer
 

les deux font la paire de toutes facon je pense :)


---------------
We deserve everything that's coming...
n°1641277
popovitch
Posté le 11-11-2007 à 23:20:49  profilanswer
 

Merci SIckofitALL et mIRROR !  
 
P.S. j'adore cet avatar http://forum-images.hardware.fr/images/perso/aloy.gif c'est bien trouvé Lol


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [RESOLU] javascript enfantin mais not defined

 

Sujets relatifs
[Non résolu] fermer un userform mais RESTER dans la feuille en cours[javascript] Problème d'insertion dans un fichier .js
Session + javascript[Resolu ]Incrementation [ debutanT ]
[resolu] - Recuperer nom fichier selectionné dans une listview ![Résolu] Supprimer une ligne d'un array sans trier ?
mail, PJ et free: si qqun a reussi... [RESOLU]date de modification de page en javascript [résolu en php]
Probleme avec ob_start [RESOLU] 
Plus de sujets relatifs à : [RESOLU] javascript enfantin mais not defined


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR