Transférer des données d'une page à une autre en HTML avec Web Creator
Transfert de plusieurs données
x1=32
x2=564
x3=cheval
x4=0
x5=blanc
x6=1
Source
Valeurs transférées :
x1=32
x2=564
x3=cheval
x4=0
x5=blanc
x6=1
Cible
Suite de la page "Transfert : une variable"
Il s'agit de transférer 6 valeurs de la page Source vers la page cible.
La totalité a été réalisée sur Web Creator. Il s'agit d'un codage très basique.
Commentaires :
x1, x2 ... les variables à transférer. Ici c'est dans un formulaire de saisie, mais on peut envisager d'autres solutions. Dans tous les cas il faudra arriver à :
var x1 = "un texte" ou un nombre, var x2 = .....
Le transfert :
Le transfert est commandé par le bouton Bx1. Son nom importe peu.
var post =... On place les variables xi dans la chaîne de caractères post qui va être transférée dans le fichier cible qui ici s'appelle essai.
Attention ! "/" est un pointeur qui va s'afficher / dans la chaine de caractères. La chaîne sera : 32/564/cheval/0/blanc/1/. Ce pointeur pointe sur les caractères précédents. Il ne faut pas oublier le dernier. On peut changer le pointeur par un autre caractère.
escape : encode les caractères spéciaux.
window.location.href : indique à la page appelée une information supplémentaire. Dans ce cas la page s'ouvrira automatiquement sous le nom :
./photos/essai.html?32/564/cheval/0/blanc/1/
vous voyez le ?, il fera maintenant partie de la chaine transférée.
Si le nombre de variables est inférieur à 6 ce n'est pas la peine de changer le code, il suffit de déclarer les variables inutilisées vides : x6="" ou tout simplement ne rien lui affecter dans un formulaire de saisie.
Commentaires :
window.location.search : c'est l'information reçue par la page.
On place cette information dans post. C'est une chaine de caractères commençant par "?".
post se présente sous la forme suivante :
?32/564/cheval/0/blanc/1/
post=post.substring(1) : supprime le premier caractère, le ?.
x, y, z,i ,j sont des variables utilisées dans l'extraction des valeurs.
la variable tabx est une variable tableau dont on peut changer les indices facilement. on aura tabx[1], tabx[2]... Ce sont ces variables qui récupéreront les valeurs transférées.
La procédure débutant par for(i=0; i... est une itération de i variant de 0 à la valeur de la longueur de la chaîne.
Les caractères sont récupérés un à un par z = post.charAt(i) et transmis dans x qui les accumule. Losque z rencontre le caractère / il arrête provisoirement l'itération et commande le transfert de x vers tabx[1]. x est vidé de son contenu. L'itération reprend jusqu'au / suivant et x est transféré vers tabx[2] ...etc jusqu'à la fin de la chaîne dont le caractère est obligatoirement /.
Les valeurs sont transférées dans un tableau. On peut les affecter à des variables simples x1, x2 ...
Et on vérifie que ça marche.
Page Source
x1, x2 ... sont les variables à tranférer
Bx1 est le bouton "Tranférer>"
Le script: (javascript)
à placer entre les balises script
Page Cible
Le script: (javascript)
à placer entre les balises script
fouche.papin2@orange.fr
Web Creator 7