Comment Charger une chaine (venant d'un formulaire) dans un tableau ? - HTML/CSS - Programmation
Marsh Posté le 03-03-2005 à 16:26:42
Tu as ca comme code :
Code :
|
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 ...
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
Ca m'est jamais arrivé encore ce truc
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 :
|
Marsh Posté le 03-03-2005 à 20:07:59
cerel a écrit : Tu donnes un id a ton champ "prenom" du formulaire.
|
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
Je ne comprend pas pourquoi
Marsh Posté le 04-03-2005 à 12:28:29
cerel a écrit : Montres ton code. |
Merci de ton aide cerel
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(' 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(' 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>
Marsh Posté le 04-03-2005 à 12:30:26
Oh mon dieu
Marsh Posté le 04-03-2005 à 13:17:57
FlorentG a écrit : Oh mon dieu |
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 ??
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
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).