concaténation et tableaux

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : concaténation et tableaux

par Axel » 06 sept. 2005, 11:13

Salut

Je ne sais exactement ce que tu veux faire avec tes données en javascript, mais une page ouvrante peut directement récupérer les variables de la page parente.
Un truc du style fonctionne, sur ta page principale:
for (i=0; i<= document.forms[i].length; i++) {
a[i] = document.forms[i].elements[0].value
} 
//un petit popup 
window.open( page.php, "mapagederecup",  ) ;
code à mettre dans page.php
et en java tu recuperes la variable dans une autre variable.
b = window.opener.a;
alert(b);
C'est une façon de penser différente car là tu n'envoie pas les infos mais c'est la page que tu ouvres qui va les chercher.

Rmq: rien ne t'empeche ensuite de renvoyer les infos sur la page ouvrante en faisant:
window.opener.a [i] = "super ça marche";
//ou meme sous forme de tableau 
window.opener.a = array("super ça marche", "en fait non", etc...);
en esperant que ça pourra t'aider 8-[

par Invité » 05 sept. 2005, 13:30

merci à truc pour sa solution, elle fonctionne.
Pour répondre à lunatic, je n'avais pas pensé au formulaire, je pense que ça devrait marcher aussi.
merci à tous.

par Lunatic » 05 sept. 2005, 13:17

Je pense que Truc a donné la solution donc je me permets une question.

Si les données du tableau proviennent d'un formulaire, n'est-il pas plus simple / plus propre d'utiliser directement les valeurs transmises à la soumission de celui-ci ?

par Truc » 05 sept. 2005, 13:12

salut, essai come ceci (j'ai pas testé personnellement mais je pense que ca devrai aller)

Code : Tout sélectionner

var chaine="nb="+a[i].length; for (i=1; i<= a[i].length; i++) { chaine+="&variable"+i+"="+a[i]; } window.location.href="page.php?"+chaine;
ce qui devrai donner pour un tableau de 10 valeurs qui contient [12,15,..]:

page.php?nb=10&variable1=12&variable2=15.....

par Invité » 05 sept. 2005, 10:29

tu as raison, le window.location ne doit pas être dans la boucle de concaténation, mais j'ai besoin d'aide pour trouver comment concaténer les variables à la suite du window.location

par Invité » 05 sept. 2005, 10:27

ok, je te remercie pour le tuyau sur les sessions. je vais certainement l'utiliser. mais il y a bien un moyen de concaténer dynamiquement des variables dans une url avec javascript...et j'aimerais savoir comment écrire un tel script.

par Lunatic » 05 sept. 2005, 10:22

hum je ne pense pas avoir mélangé...en fait je génère le code javascript dynamiquement avec du php, d'ou page.php. je n'ai pas ajouté le code php pour plus de clarté.
Donc je confirme que je souhaite trouver comment effectuer cette opération avec javascript.
Ok, ça ne me paraissait pas clair ce bout de code javascript (edit : et en plus je croyais que la boucle était en php :roll:)

Mais à mon humble avis je t'ai déjà donné la meilleure solution : utiliser les sessions. Tu pourras ainsi faire passer tes variables de pages en pages même avec une redirection javascript.

par Invité » 05 sept. 2005, 10:19

hum je ne pense pas avoir mélangé...en fait je génère le code javascript dynamiquement avec du php, d'ou page.php. je n'ai pas ajouté le code php pour plus de clarté.
Donc je confirme que je souhaite trouver comment effectuer cette opération avec javascript.

Re: concaténation et tableaux

par Lunatic » 05 sept. 2005, 10:14

Je souhaite envoyer tous les éléments du tableau a, quelque soit leur nombre, vers une autre page (page.php).
Je sais que je dois utiliser un script de la forme
for (i=0; i<= a.length; i++) {
window.location.href='page.php?....'
}


Bonjour,

là tu mélanges php et javascript, ça ne peut pas fonctionner !

La redirection en php se fait grace à la fonction header :

$destination = 'http://www.monlien.fr';
header('Location: '.$destination);
Tu peux regarder ce lien pour en savoir plus.

Pour passer ton tableau à la page, tu peux utiliser les sessions.

concaténation et tableaux

par donatello » 05 sept. 2005, 10:05

Bonjour à tous,
Je crée un tableau a dont le nombre d'éléments n'est pas connu à l'avance, à partir des éléments d'un formulaire:
for (i=0; i<= document.forms.length; i++) {
a = document.forms.elements[0].value
}

Je souhaite envoyer tous les éléments du tableau a, quelque soit leur nombre, vers une autre page (page.php).
Je sais que je dois utiliser un script de la forme

for (i=0; i<= a.length; i++) {
window.location.href='page.php?....'
}

Mon problème: je ne vois pas comment écrire la concaténation qui va ajouter les éléments du tableau à l'url, quelquesoit le nombre d'éléments.
Quelqu'un sait-il comment faire?