11540 sujets

JavaScript, DOM et API Web HTML5

Bonjour a tous,

Je rencontre un petit soucis en Javascript avec les tableaux à 2 dimensions :

//création d'un tableau pouvant stocker 40 questions , la déclaration a vide empeche le script de s'exécuter
	//avec 8 colonnes : Question | Choix 1| Choix 2| Choix 3| Choix 4| Réponse| réponse de l'etudiant | savoir si la question est deja utilisé dans le choix aléatoire
	//http://forum.alsacreations.com/topic-5-19439-1-Remplir-et-afficher-un-tableau-2-dimensions-avec-boucle-for-javascrip.html
	var Questionnaire = [4,7] ;// même problème avec la syntaxe : var Questionnaire =new array (4,7);
	
	
	//remplissage du tableau
	Questionnaire[0,0] ="Il est possible de transférer des fichiers en utilisant :";
	Questionnaire[0,1] ="a : rcp";
	Questionnaire[0,2] ="b : xcopy";
	Questionnaire[0,3] ="c : dns";
	Questionnaire[0,4] ="d : sftp";
	Questionnaire[0,5] ="b";
	Questionnaire[0,6] ="";
	Questionnaire[0,7] ="false";
	
	Questionnaire[1,0] ="Une souris peut être connectée :";
	Questionnaire[1,1] ="a : sur le port PS/2";
	Questionnaire[1,2] ="b : sur le port FireWire";
	Questionnaire[1,3] ="c : par Wifi";
	Questionnaire[1,4] ="d : par BlueTooth";
	Questionnaire[1,5] ="a";
	Questionnaire[1,6] ="";
	Questionnaire[1,7] ="false";
	
	Questionnaire[2,0] ="PHP est désormais un langage :";
	Questionnaire[2,1] ="a : compilé à la volée";
	Questionnaire[2,2] ="b : interprété coté serveur";
	Questionnaire[2,3] ="c : interprété coté client";
	Questionnaire[2,4] ="d : orienté objet";
	Questionnaire[2,5] ="b";
	Questionnaire[2,6] ="";
	Questionnaire[2,7] ="false";


Le soucis est le suivant il semble affecter dans toute les lignes précédentes la dernier ligne affecter au tableau.

// je ne sais pas si il remplit correctement 
	//function d'affichage du  tableau test en l'affichant
	function afficher_tableau() 
	{ 
	 var i=0; // parcourt les lignes
	 var j=0; // parcourt les colonnes
	 
	 for (i=0;i<=4;i++)
	 {
		for (j=0;j<=7;j++)
		{
			document.write( Questionnaire[i,j]);//affiche dans le document html le contenu du tableau 
			document.write('<br>');// saut de ligne
		}
	 }
	
	}
	
	function Affiche_questionnaire()
	{
			
		document.write('<form>');
		//récupération de la question
		document.write(Questionnaire[1,0]);
		document.write('<br>');
		//affichage des boutons radios
		document.write('<INPUT type=radio name="réponse" value="a">');
		document.write(Questionnaire[1,1]);
		document.write('<br>');
		document.write('<INPUT type=radio name="réponse" value="b">');
		document.write(Questionnaire[1,2]);
		document.write('<br>');
		document.write('<INPUT type=radio name="réponse" value="c">')
		document.write(Questionnaire[1,3]);
		document.write('<br>');
		document.write('<INPUT type=radio name="réponse" value="d">');
		document.write(Questionnaire[1,4]) ;
		document.write('<br>');
			
		document.write('</form>');
		//alert('Bienvenue sur le site');
		//var tab_test=new array (6);
		//var compteur ;
		//var un_autre_tableau=new Array;
		//un_autre_tableau [0] = 0;
		//un_autre_tableau [1] = 1;		
		//compteur=Questionnaire;
		//alert(compteur);


Modifié par narutobaka (02 Jul 2008 - 14:46)
Hello,

Une petite révision sur les tableaux en JS s'impose... Si tu veux créer un tableau à deux dimensions, il faut en fait créer un tableau de tableaux.
Bonjour,

Aurais-tu un exemple explicite de déclaration et de remplissage de tableau à 2 dimensions en Javascript ?

Merci de ta réponse

cordialement,
narutobaka a écrit :
Aurais-tu un exemple explicite de déclaration et de remplissage de tableau à 2 dimensions en Javascript ?

Comme je le disais, ça n'existe pas. Un tableau de tableaux ressemble à ça :
var tab = [];

for (var i = 0; i < 15; ++i) {
  tab.push([1, 2, 3, 4, 5, 6]);
}

alert(tab[0][3]); // 4

Modifié par Julien Royer (02 Jul 2008 - 14:01)
rebonjour

Je pense avoir compris comment faire :


 	// taille du tableau qui définit le nombre de ligne
	var Questionnaire = new Array(5);
	
	for(var i=0; i < Questionnaire.length; i++)
	
	//imbrication d'un tableau représentant le nombre de colonne
	Questionnaire[ i]=new Array(7);


et je remplit le tableau en utilisant cette syntaxe et non celle du premier code


        Questionnaire[0][0] ="Il est possible de transférer des fichiers en utilisant :";
	Questionnaire[0][1] ="a : rcp";
	Questionnaire[0][2] ="b : xcopy";
	Questionnaire[0][3] ="c : dns";
	Questionnaire[0][4] ="d : sftp";
	Questionnaire[0][5] ="b";
	Questionnaire[0][6] ="";
	Questionnaire[0][7] ="false";


Je vous remercie pour votre aide

Cordialement,
Modifié par Julien Royer (02 Jul 2008 - 15:53)