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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [ Débutant ] Erreur d'exécution en Javascript

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ Débutant ] Erreur d'exécution en Javascript

n°1233842
Mariooo
Posté le 28-10-2005 à 20:27:29  profilanswer
 

Bonsoir !  :hello:  
 
Je tiens tout d'abord à dire que je ne savais pas faire de Javascript il y a une heure ! Je fais avec mes connaissances en C...
 
J'ai un script que je souhaite insérer dans une zone d'en-tête de forum afin que dans cette zone s'affiche aléatoirement une phrase.
 

Code :
  1. <script "JavaScript">
  2. function Message_aleatoire()
  3. {
  4. Numero_message = Math.round(Math.random()*3) + 1 ;
  5. switch (Numero_message)
  6. {
  7.  case 1 : return &quot;I don't go looking for trouble. Trouble usually finds me&quot; ; break ;
  8.  case 2 : return &quot;Are you insane? Of course I want to leave the Dursleys! Have you got a house? When can I move in&quot; ; break ;
  9.  case 3 : return &quot;Yeah, Quirrell was a great teacher. There was just that minor drawback of him having Lord Voldemort sticking out of the back of his head!&quot; ; break ;
  10. }
  11. }</script>
  12. <script "JavaScript">
  13. document.write(Message_aleatoire());
  14. </script>


 
Ce bout de code (pris dans la section "Source" et non en mode "Texte" ) ne m'affiche rien dans la zone voulue ! Où pensez-vous que j'ai faux ?
 
Merci pour vos réponses  :jap:

mood
Publicité
Posté le 28-10-2005 à 20:27:29  profilanswer
 

n°1233848
CNeo
Posté le 28-10-2005 à 20:48:04  profilanswer
 

Mariooo a écrit :

Bonsoir !  :hello:  
 
Je tiens tout d'abord à dire que je ne savais pas faire de Javascript il y a une heure ! Je fais avec mes connaissances en C...
 
J'ai un script que je souhaite insérer dans une zone d'en-tête de forum afin que dans cette zone s'affiche aléatoirement une phrase.
 

Code :
  1. <script "JavaScript">
  2. function Message_aleatoire()
  3. {
  4. Numero_message = Math.round(Math.random()*3) + 1 ;
  5. switch (Numero_message)
  6. {
  7.  case 1 : return &quot;I don't go looking for trouble. Trouble usually finds me&quot; ; break ;
  8.  case 2 : return &quot;Are you insane? Of course I want to leave the Dursleys! Have you got a house? When can I move in&quot; ; break ;
  9.  case 3 : return &quot;Yeah, Quirrell was a great teacher. There was just that minor drawback of him having Lord Voldemort sticking out of the back of his head!&quot; ; break ;
  10. }
  11. }</script>
  12. <script "JavaScript">
  13. document.write(Message_aleatoire());
  14. </script>


 
Ce bout de code (pris dans la section "Source" et non en mode "Texte" ) ne m'affiche rien dans la zone voulue ! Où pensez-vous que j'ai faux ?
 
Merci pour vos réponses  :jap:


 
A part si ton script n'ai pas bon je ne pense pas qu'il y ai de problèmes.
Vérifie tout ton script car de ce que je connais du JavaScript je sais que même s'il est "flexible" il faut faire attention à chaque virgule, chaque point, etc.
 
Tu ferais mieux d'apprendre le langage avant de commencer des scripts n'importe comment.
http://aliasdmc.free.fr/coursjavas [...] ipt72.html Cela pourra surement t'aider...
Je pense que tu n'aura pas beaucoup d'autres réponses ce soir car cette catégorie est un peu déserte depuis la fin de l'après-midi.

n°1233856
CNeo
Posté le 28-10-2005 à 20:56:09  profilanswer
 

Finalement il semblerait qu'il y ai de nouveau des forumeurs en ligne!!!

n°1233861
Mariooo
Posté le 28-10-2005 à 21:01:43  profilanswer
 

Merci  ;)
C'est bien ça le problème... J'ai une assez bonne connaissance du C, et je ne voyais pas ce qui pouvait clocher dans ce code, très simple s'il en est. Autrement je n'aurais pas posté sur ce forum ! :)

n°1233867
CNeo
Posté le 28-10-2005 à 21:17:00  profilanswer
 

Mariooo a écrit :

Merci  ;)
C'est bien ça le problème... J'ai une assez bonne connaissance du C, et je ne voyais pas ce qui pouvait clocher dans ce code, très simple s'il en est. Autrement je n'aurais pas posté sur ce forum ! :)


 
C'était quoi le problème ?

n°1234035
gatsusat
Posté le 29-10-2005 à 11:56:56  profilanswer
 

Mariooo a écrit :


<script "JavaScript">
function Message_aleatoire()  
{  
 Numero_message = Math.round(Math.random()*3) + 1 ;  
 switch (Numero_message)  
 {
  case 1 : return &quot;I don't go looking for trouble. Trouble usually finds me&quot; ; break ;  
  case 2 : return &quot;Are you insane? Of course I want to leave the Dursleys! Have you got a house? When can I move in&quot; ; break ;  
  case 3 : return &quot;Yeah, Quirrell was a great teacher. There was just that minor drawback of him having Lord Voldemort sticking out of the back of his head!&quot; ; break ;  
 }
}</script>
 
<script[b] "JavaScript"
>[/b]
document.write(Message_aleatoire());
</script>


 
_______________________________________________________________
<script type="text/javascript">  
function Message_aleatoire()  
{  
    var Numero_message = parseInt(Math.random()*3) + 1 ;
   
    switch (Numero_message)  
    {  
        case 1 : return "I don't go looking for trouble. Trouble usually finds me"; break ;  
        case 2 : return "Are you insane? Of course I want to leave the Dursleys! Have you got a house? When can I move in"; break ;  
        case 3 : return "Yeah, Quirrell was a great teacher. There was just that minor drawback of him having Lord Voldemort sticking out of the back of his head!" ; break ;  
    }  
}
 
document.write(Message_aleatoire());  
</script>
 
_______________________________________________________________
 
J'ai mis en gras tes erreurs et la correction :  
 
un attribut en HTML c'esdt toujours : attribut="valeur", donc type="text/javascript"
tu trouveras souvent du code du genre :  
<script language="Javascript">, mais c'est une déclaration dépassée, et donc il faut plutot déclarer :
<script type="text/javascript">
 
pour la variable Numero_truc.
tu fais directement un numero_truc = bidule.
mais numero_truc, n'est pas déclaré, donc tu auras une erreur javascript. d'ou le "var" devant la variable. tu peux très bien déclarer ta variable en amont du code. mais je l'ai fait directement.
 
ensuite pour le Math.round, cette fonction comporte un defaut.
 
math.round(0.51) = 1;
Math.round(0.49) = 0;
 
donc il faut utiliser parseInt() qui va simplement te virer la partie décimale.
 
enfin pourquoi a tu mis &quot; pour tes strings, alors que une string en JS c'est soit : 'string' ou bien "string".
je préfère utiliser "string", car on utilise plus souvent des phrases avec des simples quotes :  
ex : "j'ai acheté du pain".
sinon tu peux encadrer ta string avec une simple quote si tu as des double quote dans ta string
ex : 'le chien "est" beau'
ou bien faire un mélange en échappant les quote.
ex : "j'ai acheté \"du pain\" ce matin"
 
enfin pour finir, continu d'utiliser document.write() pour le moment, c'est utile pour débugger et quand on débute, afin de faire quelques manipulation.
 
mais maintenant on utilise directement des propriétés des éléments HTML, et on appelle les élément via un id ex :  
 

Code :
  1. <p id="paragraphe">
  2. texte qui va être remplacé
  3. </p>
  4. <script type="text/javascript">
  5. document.getElementById("paragraphe" ).innerHTML = "le nouveau texte de ce paragraphe";
  6. </script>


 
il y a aussi une chose importante à savoir, le code JS ne se place que entre des balises <script></script> et que dans l'entete de la page HTML <head></head>


Message édité par gatsusat le 29-10-2005 à 12:01:46

---------------
Les CSS c'est bon mangez-en
n°1234190
Mariooo
Posté le 29-10-2005 à 18:33:13  profilanswer
 

Merci pour ta réponse ! Je m'en vais tester ça de suite.
Pour l'histoire des &quot; c'est pour cela que j'ai précisé que c'était la partie "source" du code. J'administrais la page d'accueil d'un forum (de type heavenforum), et l'en-tête de cette page peut contenir du script, accessible (j'ai l'impression) à la fois en mode "éditeur de texte" et en mode "source HTML". En mode éditeur, les &quot; sont effectivement remplacés par des guillemets doubles.

n°1234236
Mariooo
Posté le 29-10-2005 à 19:42:48  profilanswer
 

"Ca marche pas !!!"  lol
 
Pourrait-il y avoir quelque chose de manquant dans la config de mon navigateur (Firefox) ? Ou un élément de syntaxe non reconnu ?

n°1234357
gatsusat
Posté le 30-10-2005 à 08:37:04  profilanswer
 

Code :
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <title></title>
  5. </head>
  6. <body>
  7. <script type="text/javascript">
  8. function Message_aleatoire() 
  9.     var Numero_message = parseInt(Math.random()*3) + 1 ;
  10.     switch (Numero_message) 
  11.     {
  12.         case 1 : return "I don't go looking for trouble. Trouble usually finds me" ; break
  13.         case 2 : return "Are you insane? Of course I want to leave the Dursleys! Have you got a house? When can I move in"; break
  14.         case 3 : return "Yeah, Quirrell was a great teacher. There was just that minor drawback of him having Lord Voldemort sticking out of the back of his head!" ; break
  15.     }
  16. }
  17. document.write(Message_aleatoire());
  18. </script>
  19. </body>
  20. </html>


 
le code dans une page complète. tu as du oublier un truc.
tu peux recoller le code que tu as ????
 
et sert toi de la console javascript sous firefox non didiou


---------------
Les CSS c'est bon mangez-en
n°1234654
Mariooo
Posté le 30-10-2005 à 22:53:51  profilanswer
 

Oui je peux le coller, mais les balises <html><body> etc semblent ne servir à rien (sous-entendu qu'elles sont supprimées du code à l'édition de l'en-tête). En fait n'importe quel code marche bien jusqu'au moment où j'introduis des formes conditionnelles. C'est pour ça que je demande s'il n'y aura pas quelque chose de plus profond.
Bref je m'y recolle.
Console javascript ? voyons voir ça.
 
Edit : La console Javascipt me serine qu'elle ne connait pas &quot; (ce que l'éditeur du forum me met à la place des " ) ... Ca ne m'étonne pas, mais je ne peux pas y faire grand chose !!


Message édité par Mariooo le 30-10-2005 à 23:17:42
mood
Publicité
Posté le 30-10-2005 à 22:53:51  profilanswer
 

n°1234664
Mariooo
Posté le 30-10-2005 à 23:37:14  profilanswer
 

OOOK c'est bon... "Ca marche !!!"  lol
 
En fait l'éditeur ne reconnaissait pas les " . Pour indiquer une chaine de caractères il fallait simplement la mettre entre guillemets simples...
tout ça pour ça  :pt1cable:  
 
Merci gatsusat pour ta disponibilité et ton aide, j'ai appris deux trois trucs !!!


Message édité par Mariooo le 30-10-2005 à 23:37:46

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

  [ Débutant ] Erreur d'exécution en Javascript

 

Sujets relatifs
[JavaScript] question très bête !!![résolu]Menus - Question de débutant
Rendre un javascript compatible sous firefox[JAVASCRIPT??] Sélectionnez une feuille CSS
[débutant] différence Windows Forms et asp.netDelphi - Erreur de Dingue V. 2.0
[Javascript - css ] Zone de selection dans un zoom imageDelphi - Erreur de Dingue
[java][debutant] string vers dateContrôler le temps d'exécution d'une partie d'un script
Plus de sujets relatifs à : [ Débutant ] Erreur d'exécution en Javascript


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