Javascript

Résolu
nilly Messages postés 162 Statut Membre -  
nilly Messages postés 162 Statut Membre -
Bonjour,
est-ce qu'on peut intégré plusieurs fichiers .js dans une page html , l'un aprés l'autres???

9 réponses

Marco la baraque Messages postés 1030 Statut Contributeur 329
 
Bonjour,
oui

Cordialement,
0
nilly Messages postés 162 Statut Membre 5
 
merci beaucoup c gentil
0
nilly Messages postés 162 Statut Membre 5
 
bonjours;
j'ai écrit une fonction en javaScript qui permet de créer un tableau puis le retourner
et j'en ai écrit une autre qui permet d'afficher ce même tableau, mon problème c'est dans cette dernière, je début encore en javaScript, et merci de votre aide
voici mon code source:
mon fichier .js:
var n;
function ecrireTab(n)
{ var valeur=new Array(n);
  for (var i=0;i<n;i++)
  { var a=parseInt(prompt("entrer une valeur","0")); 
     valeur[i]=a;
  }
return valeur.join(" ");
} 

function afficherTab(t)
{
  for(var i=0;i<t.length;i++)
   {
     document.write("t[i]");
   }
}

et ça c'est mon fichier HTML:
<html>
<head>
<script language="javascript" src="exo1.js">
</script>
</head>
<body>
<form>
<input name="tableau" type="button" value="voir le resultat" onClick="ecrireTab(12)">
</form>
<form>
<input name="tableau" type="button" value="voir le resultat" onClick="afficheTab(ecrireTab)">
</form>
</body>
</html>
0
Marco la baraque Messages postés 1030 Statut Contributeur 329
 
Bonsoir Nilly,
Ton problème est que ta première fonction ne retourne pas un tableau mais une string (la méthode join que tu appelle concatène toutes les valeurs de ton tableau, en les séparant par un espace, et stocke tout ça dans une string).
Dans ton cas, fais simplement un return valeur;

Dans ta deuxième fonction il faut enlever les double-quotes : document.write(t[i]);
Tu peux aussi avoir envie d'insérer un séparateur entre les différentes valeurs affichées (document.write(t[i] + " "); par exemple).

Enfin, je pense que la première ligne ne sert à rien : var n;
Tu peux la retirer sans problème :)

Bien cordialement,
0
nilly Messages postés 162 Statut Membre 5
 
salut marco et merci de m'avoir répondue
j 'ai fait ce que tu m'as dit (j'ai enlever la méthode join() et les quottes ) mais ça me retourne undefined
0
Marco la baraque Messages postés 1030 Statut Contributeur 329
 
Bonsoir,
Tout d'abord, il faut déclarer ton tableau en global si tu veux pouvoir y stocker des valeurs et appeler des fonctions sur ce tableau à plusieurs moments de l'exécution.
Ensuite, il faut appeler la fonction afficherTab() et non pas afficheTab() :
Le javascript :
<!--
var t;

function ecrireTab(n)
{ var valeur=new Array(n);
  for (var i=0;i<n;i++)
  { 
	var a=parseInt(prompt("entrer une valeur","0")); 
     valeur[i]=a;
  }
t = valeur;
} 

function afficherTab()
{
  for(var i=0;i<t.length;i++)
   {
     document.write(t[i]);
   }
}
//-->

Le html :
<html>
<head>
<script language="javascript" src="js.js">
</script>
</head>
<body>
<form>
<input name="tableau" type="button" value="voir le resultat" onClick="ecrireTab(3)">
</form>
<form>
<input name="tableau" type="button" value="voir le resultat" onClick="afficherTab()">
</form>
</body>
</html>


Cordialement,
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nilly Messages postés 162 Statut Membre 5
 
bonsoir;
merci marco pour ton aide, mais moi je veux que ma première fonction renvoie le tableau et la deuxième l'affiche, bon j'ai réécris mon programme autrement mais j'ai toujours un problème;
cette fois j'ai créer une fonction readArray() qui construit le tableau puis le renvoie , et je l'ai appelé pour afficher le tableau résultant dans un autre programme;
bon voici mes fichiers:
readArray.js
function readArray(n)
{ var tab=new Array(n);
for(var i=0;i<n;i++)
{ var entier=parseInt(prompt('entrez un entier','0'));
tab[i]=entier;
}
return tab;
}

readArray.html
<html>
<head>
<title> lire un tableau </title>
<script src="readArray.js" language="javascript"></script>
</head>
<body>
<script language="javascript"><!--
var n=parseInt(prompt('entrez le nombre des éléments','0'));
t=readArray(n);
for(int i=0;i<n;i++)
document.write(t[i]);
//-->
</script>
</body>
</html>
0
Marco la baraque Messages postés 1030 Statut Contributeur 329
 
Bonsoir,
Peut-être avec un for(var i=0; i<n; i++) ?
Javascript n'est pas fortement typé ;)

Cordialement,
0
nilly Messages postés 162 Statut Membre 5
 
re
bon j'ai mis l'instruction suivante mais ça marche tjr pas:
for(int i=0;i<tab.length;i++)
0
Marco la baraque Messages postés 1030 Statut Contributeur 329
 
Rebonsoir,
Ce n'est pas int i, mais var i. Le mot clé int n'existe pas en javascript.
Chez moi ça fonctionne parfaitement.

Cordialement,
0
nilly Messages postés 162 Statut Membre 5
 
bonjours;
oh vraiment désolé je lavais pas remarquer c'est juste une faute de frappe
mais ça marche pas toujours :(
0
Marco la baraque Messages postés 1030 Statut Contributeur 329
 
Bonjour,
Bah chez moi ça fonctionne parfaitement sous ie et firefox. Tu utilises quel navigateur ?
Je te posterai mon code exact ce soir.

Cordialement,
0
nilly Messages postés 162 Statut Membre 5
 
ok ça va maintenant ça marche oh je fais beaucoup de fautes
merci marco c'était gentil de ta part
a+
0