Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Shop Recherche
439 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Passage de variable...multicodes (HTML PHP JS)

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Passage de variable...multicodes (HTML PHP JS)

n°1364304
PedroBD
Posté le 11-05-2006 à 15:35:56  profilanswer
 

Bonjour,
 
Attention, accrochez vous, un truc trop chaud à faire (encore...oui, je sais!) et pas simple à expliquer, mais je vais essayer d'être clair:
 
J'affiche dans une boucle while en php une série de listes déroulantes HTML (déjà la 1ère phrase...). Cette liste déroulante affiche des valeurs récupérées d'une base SQL via du code PHP.
Je voudrais maintenant utiliser le js pour que lorsque l'on sélectionne une valeur dans une des listes affichées, ça ouvre une nouvelle fenêtre et que via le js ça passe la valeur sélectionnée.
 
Avec un peu de code et bcp résumé, ça donne ceci:
 

Code :
  1. <?php
  2. //Début boucle while
  3. while (...) {
  4. ?>
  5. <SELECT name="AffProduit" id="?????" onchange=openwindow(??????)>
  6. <?php
  7. echo("<option value=".$res_sel['Id_Produit']." >
  8. ?>
  9. </SELECT>
  10. <?}
  11. //Fin boucle while
  12. ?>


 
Ma fonction openwindow appelle plusieurs fois la méthode getElementById() pour récupérer des variables et les envoie dans une nouvelle fenêtre...
 
J'ai donc déjà vu comment en js ouvrir ma nouvelle fenêtre et passer des valeurs dedans et maintenant je voudrais attribuer un id différent à chaque SELECT généré par le while et ainsi envoyer dans openwindow l'id du SELECT sur lequel je vais cliquer (enfin activer le onchange). Vous me suivez?
 
Vous allez me dire je n'ai qu'à faire
<SELECT .....id="idselect" onchange=openwindow(idselect)>
 
Eh ben non, ça marche pas parce que quand mon while m'affiche plusieurs SELECT, je ne passe toujours que l'id du 1er select.
 
Alors j'ai essayé autre chose, j'ai déclaré une variable globale NumIdselect en js; variable que j'incrémente à chaque occurence de la boucle while. Maintenant j'aimerais faire un truc du style:
 
<SELECT .....id="NumIdselect" onchange=openwindow(NumIdselect)>
 
Mais ça marche pas, IE me répond que NUmIdselect n'es pas définie, alors que c'est une variable globale!
 
Comment mettre du js dans du html????
 
Merci à ceux qui ses seront pas endormis avant la fin de ce message...et qui en plus me répondront!

mood
Publicité
Posté le 11-05-2006 à 15:35:56  profilanswer
 

n°1364413
bidem
Posté le 11-05-2006 à 16:42:56  profilanswer
 

Citation :

Alors j'ai essayé autre chose, j'ai déclaré une variable globale NumIdselect en js; variable que j'incrémente à chaque occurence de la boucle while. Maintenant j'aimerais faire un truc du style:
 
<SELECT .....id="NumIdselect" onchange=openwindow(NumIdselect)>
 
Mais ça marche pas, IE me répond que NUmIdselect n'es pas définie, alors que c'est une variable globale!


 
Tu mélanges tout.
 
Si NumIdselect est bien une variable PHP elle n'existe que côté serveur uniquement.
 
Ce qu'il te faut, c'est que dans la boucle while (Php) tu génères un id différent à chaque itération.
 
Je suis pas très fort en php, j'espère qu'il n'y a pas d'erreur de syntaxe :
 

Code :
  1. <?php
  2. //Début boucle while
  3. $NumIdselect = 0; // initilisation
  4. while (...) {
  5.   $nomSelect = 'debutNom'.$NumIdselect;
  6. ?>
  7.   <SELECT name="AffProduit" id="<?= $nomSelect ?>" onchange="openwindow('<?= $nomSelect ?>')">
  8.   ...
  9.   </SELECT>
  10. <?
  11.   $NumIdselect++;
  12. }
  13. //Fin boucle while
  14. ?>


 
Un exemple de ce que ça peut donner comme page générée

Code :
  1. <SELECT name="AffProduit" id="debutNom0" onchange="openwindow('debutNom0')">
  2.   ...
  3.   </SELECT>
  4.   <SELECT name="AffProduit" id="debutNom1" onchange="openwindow('debutNom1')">
  5.   ...
  6.   </SELECT>
  7.   <SELECT name="AffProduit" id="debutNom2" onchange="openwindow('debutNom2')">
  8.   ...
  9.   </SELECT>
  10.   <SELECT name="AffProduit" id="debutNom3" onchange="openwindow('debutNom3')">
  11.   ...
  12.   </SELECT>
  13.   <SELECT name="AffProduit" id="debutNom4" onchange="openwindow('debutNom4')">
  14.   ...
  15.   </SELECT>

n°1364514
PedroBD
Posté le 11-05-2006 à 17:52:15  profilanswer
 

OK, ton truc a l'air de marcher. Mais je fais comment pour passer l'id dans la fonction openwindow du js?
 
Voici ma fonction:
 

Code :
  1. function openwindow(num) {
  2. var infos = document.getElementById('???????').value;
  3. var popup = window.open('Sel_depcont.php?infos='+infos, 'Deplacement','width=300,height=200,resizable');
  4. }


 
Tu vois, maintenant que l'id a un nom variable, je mets quoi dans le getElementById?
 
C'est pour ça que j'aurais voulu faire une variable js qui s'incrémente en même temps que $NumIdselect.
 
Style un truc document.getElementById('debutNom[NumId]').value;
 
et NumId est une variable js égale à $NumIdselect...

n°1364516
PedroBD
Posté le 11-05-2006 à 17:59:58  profilanswer
 

OK, je viens de résoudre tous mes pbs.
 
Il fallait juste que ma variable infos recoive num.
 
Ca marche maintenant. Grand merci de ton coup de pouce, ça m'a bien dépanné!

n°1364518
bidem
Posté le 11-05-2006 à 18:01:28  profilanswer
 

Code :
  1. function openwindow(nom) {
  2.   // arrivé ici, le parametre nom contient une chaine de caractère
  3.   //   égale à l'id du <select> qui a appelé
  4.   var infos = document.getElementById(nom).value;
  5.   var popup = window.open('Sel_depcont.php?infos='+infos, 'Deplacement','width=300,height=200,resizable');
  6.    
  7.     }


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Passage de variable...multicodes (HTML PHP JS)

 

Sujets relatifs
solution pour mettre en forme du texte html dans un formulaireTutoriel PHP et access tout simple pour gros nul
Variable de session dans requetepb image cliquable html avec validateur w3
Petit souci de suppression de repertoire en PHP....Problème de perte de variable publique d'un formulaire au chargement d
éxécution de html dans un script java[Résolu] Passage Paramètre TList
[Résolu] PHP + IIS = erreur d'extension mysqlVariable invisible pour requête sql !?
Plus de sujets relatifs à : Passage de variable...multicodes (HTML PHP JS)


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR