IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

affichage d'un tableau dans un <div>


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    11
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 11
    Par défaut affichage d'un tableau dans un <div>
    bonjour,
    je fais un programme qui code les lettres en chiffres
    par exemple 'a vaut 2' signifie que toutes les lettres sont décalé d'un cran. et donc le mot {ab,c} donneras {2,3,4}.

    mon soucis est que mon programme renvoie 'undefined', je veux dire, ma page s'affiche sans erreur, mais quand je lance le programme, la réponse est non définis. Et je ne vois pas trop ou est l'erreur

    pour info :
    dans des inputs, type text, j'ai:
    • "textOriginal" qui corresponds au texte à traduire
    • "lettreOriginal" (1 seul caractère) qui correspond à 'a' dans mon exemple ci dessus
    • "lettreCoder" (1 seul carectère) qui correspond à '2' dans mon exemple

    et enfin, j'ai une balise pour indiquer ou écrire la solution : <div id="textCoder"></div>

    J'espère que vous pourrez me dépanner. Je précise que ce n'est pas pour un devoir et que j'apprends le JS pour mon site (pour le plaisir).

    mon code javascript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    		function b_alphadeca(monForm)
    		{	// on code en chiffre !
    			var i=0;
    			var regelText = /^[a-zA-Z]$/;
    			var regelNum = /^[0-9]$/;
    			var long=monForm["textOriginal"].value.length;	// longueur du texte à traduire
    			var clee=0;										// entier
    			var textFinal = new Array(long);				// tableau d'entier
     
    			// clee de codage : c'est le décalage introduit
    			clee = monForm["lettreCoder"] - lettre_chiffre(monForm["lettreOriginal"]);
     
    			// on transforme le texte original en chiffrage numérique, avec la cléé de codage
    			for (i=0; i<long; i++)
    			{
    				if (regelText.test(monForm["textOriginal"].value.charAt(i) ) )  
    				{ 	// (int) on prend une lettre à traduire et on la chiffre
    					textFinal[i] = lettre_chiffre(monForm["textOriginal"].value.charAt(i))+clee;	// modulo 26
    				}
    				else { textFinal[i]= monForm["textOriginal"].value.charAt(i) }						
    			}
     
    			document.getElementById('textCoder').innerHTML=textFinal.value;
    		};
     
    // retourne le chiffre correspondant à la lettre : a-1, b-2 ...		
    		function lettre_chiffre(lettre){  
    			var tableau= new Array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
    			var i=0;
    			for ( i=0; i<26; i++)
    			{
    				if (lettre = tableau[i])
    				{ return i+1;
    				}
    			}
    		};
    nb : il y avait une petite erreur, dans la clee de codage, mais meme en la changeant, le problème reste le même...

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Salut,
    clee = monForm["lettreCoder"] - chiffre_lettre(monForm["lettreOriginal"]);
    ça ne dois pas être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    clee = monForm["lettreCoder"].value - chiffre_lettre(monForm["lettreOriginal"].value);
    document.getElementById('textCoder').innerHTML=textFinal.value;
    Tu veux concaténer les valeurs du tableau textFinal?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('textCoder').innerHTML=textFinal.join('');

  3. #3
    Membre habitué
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    11
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 11
    Par défaut
    Merci pour la réponse, j'ai effectué les modifications, mais maintenant, j'ai la réponse : NaN
    Je ne comprends pas pourquoi ma variable est indéfinie, je ne travail qu'avec des lettres et des chiffres alors que NaN veut dire qu'il ne reconnait pas le type de variable, c'est ça ?

    juste pour tester dans la fonction "lettre_chiffre()", j'ai rajouter un .value
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (lettre = tableau[i].value)
    mais je ne pense pas que ça soit utile, surtout que la réponse final ne change pas, c'est toujours NaN !!

    Je pense que la dernière ligne de mon code fonctionne (avec un .value) car j'avais essayé avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('textCoder').innerHTML=monForm["textOriginal"].value;
    et là il me renvoyait bien le texte de départ.

    Du coup, je ne sais toujours pas comment trouver ma solution !

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    NaN veut dire : Not A Number (Nombre non valide).

  5. #5
    Membre habitué
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    11
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 11
    Par défaut
    Je ne comprends toujours pas ce qui ne vas pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('textCoder').innerHTML=monForm["textOriginal"].value;
    si je mets un .value à la fin, la réponse est 'undefined', et si je mets un .join(), la réponse est NaN.

    Mon but est de retourner une chaine de nombre, et je ne vois pas ou, dans mon programme, ce que je mets dans le tableau final (textFinal), n'est pas un nombre.

    De plus, ne peut-on pas mettre un lettre ou un chiffre et tout afficher quand même ? Ou alors, je dois passer par une boucle pour afficher chaque caractère ?

    j'ai essayé ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for (i=0; i<long; i++)
    { document.getElementById('textCoder').innerHTML=textFinal[i];}
    mais comme retour de n'ai qu'un seul NaN (pour un texte de 3 lettres). Avec la version précédente (sans la boucle), j'avais un NaN par lettre coder ! Et avec textFinal[i].value , cela me retourne 'undefined'

    Je suis désoler, mais je ne vois vraiment pas l'erreur...

  6. #6
    Membre habitué
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    11
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 11
    Par défaut
    C'est bon, j'ai trouvé l'erreur.

    Il fallait bien mettre un .join dans la dernière ligne du prg et il y avait une erreur dans le sous programme lettre_chiffre : dans la condition du if, il fallait mettre == et non = ! Erreur de débutant, je vous l'accorde.

    Je vous laisse allez voir le résultat sur mon site : page code

    Je suis bien sur ouvert à toute remarques.

    Merci pour votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [DisplayTag] Affichage d'un tableau dans une page jsp
    Par jihane1 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 10/05/2008, 13h05
  2. Affichage d'un Tableau dans un JLabel
    Par autregalaxie dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 26/04/2007, 13h43
  3. [Mail] Bug d'affichage d'un tableau dans un email
    Par alixe dans le forum Langage
    Réponses: 3
    Dernier message: 22/02/2007, 11h54
  4. pb d'affichage de tableau dans un bloc div
    Par fmdr dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 05/12/2006, 21h55
  5. grand tableau dans un petit div
    Par zais_ethael dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 24/03/2006, 14h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo