Comment Charger une chaine (venant d'un formulaire) dans un tableau ?

Comment Charger une chaine (venant d'un formulaire) dans un tableau ? - HTML/CSS - Programmation

Marsh Posté le 03-03-2005 à 14:43:24    

Bonjour,
 
Comment Charger une chaine de caractère venant d'un formulaire dans un tableau ?
 
Pourquoi mettre cette chaine dans un tableau indicé ?
Parceque j'aimerai pourvoir traiter séparement chaques lettres du prénom saisie, car par la suite, je veux les faire correspondre chacune à une valeur numérique (je veux faire un script de numérologie)
 
Merci de votre aide  :ange:  
 
Voici mon code
 
<script type="text/JavaScript">
 
function traitement_formulaire()
{
var tab_prenom = new Array; // je crée un tableau
var prenom = document.formulaire.prenom.value; // je charge la variable prénom avec la chaine saisie
 
tab_prenom = prenom; // j'essaie de charger prénom dans un tableau, mais ça ne marche pas
var nbr_car = tab_prenom.length;  
 
alert(nbr_car);
alert(tab_prenom [1]); // j'essaie d'afficher la 2eme case du tableau, mais ça ne marche pas
}
</script>
 
<FORM name="formulaire" >
Prénom : <INPUT type="text" size=20 name="prenom">
<INPUT onclick="traitement_formulaire()" type=button value=Entrer>
</FORM>


Message édité par aragorns le 03-03-2005 à 15:20:48

---------------
Membre d'honneur du CLUB DOROTHEE (abonné à Dorothée magazine depuis 1978).  Directeur honnoraire de l'association "Sauvez Bernard Minet" (plus connue sous le nom de Bernard's Mined Club).
Reply

Marsh Posté le 03-03-2005 à 14:43:24   

Reply

Marsh Posté le 03-03-2005 à 16:26:42    

Tu as ca comme code :

Code :
  1. tab_prenom = prenom; // j'essaie de charger prénom dans un tableau, mais ça ne marche pas


Ca te parrait pas bizzare ?? Moi si.
 
En javascript les variables sont non typees, donc tu peux y "metre" ce que tu veux. C'est au moment de l'utilisation que JS va "transformer" la variable dans le type demande.
 
Dernierement je tiens a dire que tu te compliques la vie.
Dans JS toute chaine de characteres peut etre consideree comme un tableau ...

Reply

Marsh Posté le 03-03-2005 à 19:10:02    

Merci pour ta réponse
Il y a encore pas mal de truc qui m'échappes
Notemment le fait que je ne sache pas accéder à la vériable de formulaire "prénom" indice par indice
Alors pour contourner le problème j'ai été obligé de faire la bidouille suivante :
arf, mon copier coller ne fonctionne plus  :ouch:  
Ca m'est jamais arrivé encore ce truc  :fou:


Message édité par aragorns le 03-03-2005 à 19:11:59

---------------
Membre d'honneur du CLUB DOROTHEE (abonné à Dorothée magazine depuis 1978).  Directeur honnoraire de l'association "Sauvez Bernard Minet" (plus connue sous le nom de Bernard's Mined Club).
Reply

Marsh Posté le 03-03-2005 à 19:38:59    

Tu donnes un id a ton champ "prenom" du formulaire.
Puis tu peux faire un truc du genre :

Code :
  1. var prenom = document.getElementById("prenom" );
  2. alert(prenom[0]); //premier charactere
  3. alert(prenom[1]); //deuxieme charactere
  4. // ...

Reply

Marsh Posté le 03-03-2005 à 20:07:59    

cerel a écrit :

Tu donnes un id a ton champ "prenom" du formulaire.
Puis tu peux faire un truc du genre :

Code :
  1. var prenom = document.getElementById("prenom" );
  2. alert(prenom[0]); //premier charactere
  3. alert(prenom[1]); //deuxieme charactere
  4. // ...



 
Oui, c'est ce que j'ai fait, mais cela m'a fais un message d'erreur "undefined"
Alors j'ai été obligé de ruser  :heink:  
Je ne comprend pas pourquoi  :pt1cable:


---------------
Membre d'honneur du CLUB DOROTHEE (abonné à Dorothée magazine depuis 1978).  Directeur honnoraire de l'association "Sauvez Bernard Minet" (plus connue sous le nom de Bernard's Mined Club).
Reply

Marsh Posté le 03-03-2005 à 22:20:36    

Montres ton code.

Reply

Marsh Posté le 04-03-2005 à 12:28:29    

cerel a écrit :

Montres ton code.


 
Merci de ton aide cerel  :love:  
 
Je ne comprend pas la différence entre 2 façon d'accéder à un tableau :
tab_code_nom_prenom.charAt(x); // fonctionne mais sépare chaques chiffres pas des virgules
ou
tab_code_nom_prenom[0]; // me fait un message d'erreur undefined
 
 
<HTML>
<script type="text/JavaScript">
 
 
<!-- chargement tableau de calcul -->
var tableau_calcul = new Array;
tableau_calcul[0] = new Array("A","J","S" );
tableau_calcul[1] = new Array("B","K","T" );
tableau_calcul[2] = new Array("C","L","U" );
tableau_calcul[3] = new Array("D","M","V" );
tableau_calcul[4] = new Array("E","N","W" );
tableau_calcul[5] = new Array("F","O","X" );
tableau_calcul[6] = new Array("G","P","Y" );
tableau_calcul[7] = new Array("H","Q","Z" );
tableau_calcul[8] = new Array("I","R","null" );
 
document.write(tableau_calcul);
 
var tab_prenom = new Array;
var tab_code_prenom = new Array;
var nbr_car_prenom;
 
var tab_nom = new Array;
var tab_code_nom = new Array;
var nbr_car_nom;
 
var tab_nom_prenom = new Array;
var tab_code_nom_prenom = new Array;
 
 
function codage_nom_et_prenom()
{
 
var prenom = document.formulaire_nom_prenom.prenom.value;
tab_prenom = prenom; // chargement de la variable formulaire "prenom" dans un tableau
nbr_car_prenom = tab_prenom.length;  // calcul du nbr de caractères du prénom
tab_prenom=tab_prenom.toUpperCase();
 
var nom = document.formulaire_nom_prenom.nom.value;
tab_nom = nom; // chargement de la variable formulaire "nom" dans un tableau
nbr_car_nom = tab_nom.length;  // calcul du nbr de caractères du nom
tab_nom=tab_nom.toUpperCase();
 
//Traitement Prénom
 
 
 
 
 
 
<!--alert(nbr_car_prenom);-->
<!--alert(tab_prenom.charAt(2));-->
<!--alert(tab_prenom);-->
 
<!--for(i=0; i<nbr_car_prenom; i++) document.write("tab_prenom=  ",tab_prenom[i]);-->
 
 
for(x=0; x<nbr_car_prenom; x++) //prenom
 for(i=0; i<9; i++)
  for(j=0; j<3; j++)
    {
     <!--document.write('<br>tableau_calcul= ',tableau_calcul[i][j]); document.write('&nbsp;&nbsp; tab_prenom=  ',tab_prenom.charAt(x));-->
    if( tab_prenom.charAt(x) == tableau_calcul[i][j] ) //Cherche où sont situés chaques caractère du prénom dans le tableau de calcul
    tab_code_prenom[x] = i+1; // écris dans le tableau code_prenom la valeur décimal correspondent à l'emplacement de la lettre dans le tableau calcul
    }
 
 
 
 
//Traitenent Nom
 
 
 
 
 
<!--for(i=0; i<nbr_car_nom; i++) document.write("tab_nom=  ",tab_nom[i]);-->
 
 
for(x=0; x<nbr_car_nom; x++) //nom
 for(i=0; i<9; i++)
  for(j=0; j<3; j++)
    {
     <!--document.write('<br>tableau_calcul= ',tableau_calcul[i][j]); document.write('&nbsp;&nbsp; tab_nom=  ',tab_nom.charAt(x));-->
    if( tab_nom.charAt(x) == tableau_calcul[i][j] ) //Cherche où sont situés chaques caractère du prénom dans le tableau de calcul
    tab_code_nom[x] = i+1; // écris dans le tableau code_nom la valeur décimal correspondent à l'emplacement de la lettre dans le tableau calcul
    }
 
 
}
 
 
function traitement_nom_prenom()
{
 
 codage_nom_et_prenom();
 
/*
document.write('<BR>prénom :');
for(x=0; x<nbr_car_prenom; x++) document.write('',tab_code_prenom[x]);
 
document.write('<BR>nom :');
for(x=0; x<nbr_car_nom; x++) document.write('',tab_code_nom[x]);
*/
 
tab_nom_prenom = tab_prenom + ' ' + tab_nom;
for(x=0; x<27; x++)
document.forms["formulaire_tableau_nom_prenom"].elements[x].value = tab_nom_prenom.charAt(x);
 
 
 
tab_code_nom_prenom = tab_code_prenom + tab_code_nom;
 
for(x=0; x<27; x++)
document.forms["formulaire_tableau_code_nom_prenom"].elements[x].value = tab_code_nom_prenom.charAt(x);
 
 
<!-- affiche le contenu du tableau tab_code_nom_prenom, mais il y a des virgules dedan, et je ne sais pas pourquoi
for(x=0; x<27; x++)
document.write('<BR>tab_code_nom[x]=',tab_code_nom_prenom.charAt(x));
-->
 
}
 
 
</script>
 
<FORM name="formulaire_nom_prenom" >
 
Prénom : <INPUT type="text" size=20 name="prenom">
Nom : <INPUT type="text" size=20 name="nom">
<INPUT onclick="traitement_nom_prenom()" type=button value=Entrer>
 
</FORM>
 
<FORM name="formulaire_tableau_nom_prenom" >
<BR><BR><BR><BR>
<INPUT type="text" size=1 name="case1" value="">
<INPUT type="text" size=1 name="case2" value="">
<INPUT type="text" size=1 name="case3" value="">
<INPUT type="text" size=1 name="case4" value="">
<INPUT type="text" size=1 name="case5" value="">
<INPUT type="text" size=1 name="case6" value="">
<INPUT type="text" size=1 name="case7" value="">
<INPUT type="text" size=1 name="case8" value="">
<INPUT type="text" size=1 name="case9" value="">
<INPUT type="text" size=1 name="case10" value="">
<INPUT type="text" size=1 name="case11" value="">
<INPUT type="text" size=1 name="case12" value="">
<INPUT type="text" size=1 name="case13" value="">
<INPUT type="text" size=1 name="case14" value="">
<INPUT type="text" size=1 name="case15" value="">
<INPUT type="text" size=1 name="case16" value="">
<INPUT type="text" size=1 name="case17" value="">
<INPUT type="text" size=1 name="case18" value="">
<INPUT type="text" size=1 name="case19" value="">
<INPUT type="text" size=1 name="case20" value="">
<INPUT type="text" size=1 name="case21" value="">
<INPUT type="text" size=1 name="case22" value="">
<INPUT type="text" size=1 name="case23" value="">
<INPUT type="text" size=1 name="case24" value="">
<INPUT type="text" size=1 name="case25" value="">
<INPUT type="text" size=1 name="case26" value="">
<INPUT type="text" size=1 name="case27" value="">
</FORM>
 
 
 
<FORM name="formulaire_tableau_code_nom_prenom" >
 
<INPUT type="num" size=1 name="case1" value="">
<INPUT type="num" size=1 name="case2" value="">
<INPUT type="num" size=1 name="case3" value="">
<INPUT type="num" size=1 name="case4" value="">
<INPUT type="num" size=1 name="case5" value="">
<INPUT type="num" size=1 name="case6" value="">
<INPUT type="num" size=1 name="case7" value="">
<INPUT type="num" size=1 name="case8" value="">
<INPUT type="num" size=1 name="case9" value="">
<INPUT type="num" size=1 name="case10" value="">
<INPUT type="num" size=1 name="case11" value="">
<INPUT type="num" size=1 name="case12" value="">
<INPUT type="num" size=1 name="case13" value="">
<INPUT type="num" size=1 name="case14" value="">
<INPUT type="num" size=1 name="case15" value="">
<INPUT type="num" size=1 name="case16" value="">
<INPUT type="num" size=1 name="case17" value="">
<INPUT type="num" size=1 name="case18" value="">
<INPUT type="num" size=1 name="case19" value="">
<INPUT type="num" size=1 name="case20" value="">
<INPUT type="num" size=1 name="case21" value="">
<INPUT type="num" size=1 name="case22" value="">
<INPUT type="num" size=1 name="case23" value="">
<INPUT type="num" size=1 name="case24" value="">
<INPUT type="num" size=1 name="case25" value="">
<INPUT type="num" size=1 name="case26" value="">
<INPUT type="num" size=1 name="case27" value="">
</FORM>
</HTML>


---------------
Membre d'honneur du CLUB DOROTHEE (abonné à Dorothée magazine depuis 1978).  Directeur honnoraire de l'association "Sauvez Bernard Minet" (plus connue sous le nom de Bernard's Mined Club).
Reply

Marsh Posté le 04-03-2005 à 12:30:26    

Oh mon dieu :eek:


Message édité par FlorentG le 04-03-2005 à 12:30:34
Reply

Marsh Posté le 04-03-2005 à 13:17:57    


 
Pas mieux.
 
aragorns : Oula... Par ou commencer.
Bon deja tu peux obtenir la taille d'un tableau comme ca "tab.length".
 
Ensuite il faut abandonner le document.write. A la limite tu crees un div, puis tu utilises "innerHtml" ce sera "moins pire" (dans l'ideal faudrait la DOM).
 
Pour recuperer la valeur d'un input utilise plutot "document.getElementById('iddudiv');". Faut abandonner le "document.forms".
 
Pourquoi tu mets des <!-- et --> un peu partout ??  
 
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed