Version complète: sur le forum Webmaster Hub : menu deroulant php/javascrtipt
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
ruicosta
bonjour a tous ;

je vais essayé de bien expliquer mon problème en s’appuyant sur mon exemple :
I)
Dans ma 1ere page il y a un formulaire qui récupère les données suivantes :

- nom_image (champs simple)
- lien_image (champs simple)
- description (zone de texte)
mon programme en php marche cad que mes données s’enregistre correctement dans ma bdd ;

II)

Mon problème c a ce niveau
Ds ma 2 eme page qui a pour but de modifier un ancien enregistrement d une image ;
Mon formulaire de modification devient

- nom_image (menu déroulant)
- lien_image (champs simple)
- description (zone de texte)
le fonctionnement est simple :
1) c’est que l utilisateur choisi ds le menu déroulant une de ses images enregistrées.

2) une fois c fait dans les autres champs apparaissent les informations concernant cette images selon l’id ( sans passer par un bouton just le fait de choisir dans le menu.).

3) puis a laide d un bouton cette fois ci il peut modifier son enregistrement .

Le programme en php est deja fait il me reste just la partie 2)
On m a conseillé de le faire avec du javascript que je maîtrise pas trop

Donc je voudrai un script qui gère cette option de menu déroulant ,avec une explication détaillée ?
Merci a tous parce que ça fait un moment que je suis bloqué la dessus .
Merci encore .
K-ZimiR
voici un exemple de fonction JavaScript à mettre dans le HEAD de la page :

CODE
<script language ="JavaScript">
<!--
function change() {
  var string = "url à appeler lorsque le menu déroulant est changé";
  location = string;
}
-->
</script>


Puis l'appel de la fonction au niveau du menu déroulant :
CODE
<select name="toto" onChange="change()">
<option>bla bla</option>
</select>


En espérant avoir aidé wink.gif
ruicosta
je tiens tout d abord a t remercier K-ZimiR laugh.gif .
vu les exemples que j ai vu sur le net apparamment ce que je demande est compliqué (a mon niveau en javascript whistling.gif ).
ton truk je l ai essayé mais c pas vraiment ce que je demande .
voila une 2 eme expliquation:
ce que je propose sur le menu deroulant cad les "toto's" sont affiché grace a une requete php(ca marche); mais a vrai dire je demande pas des url pour chaque toto,ou d aller dans une page precise ,non ce que je veux c une fois un des toto est selectionnè, sur le meme formulaire dans les champs seront affiché des informations liées a mon toto (une partie que je ferai en php).
je resume :
""une fois que je selectionne un des totos
je poste le meme formulaire
avec les changements deja expliquées ,pour les valideer aprés grac a un bouton.
merci encore parceke je commence petit a petit de se raprocher de la soluce "".
K-ZimiR
de rien wink.gif

donc si j'ai bien compris tes explications, tu souhaite poster le formulaire une fois "toto" sélectionné.
Dans ce cas, la fonction JavaScript devient :

CODE
<script language ="JavaScript">
<!--
function change() {
 this.document.nomdetonformulaire.submit();
}
-->
</script>
Ldo
non, t'as toujours pas comprit ce k'il veut Kaz a mon avis happy.gif

il veut que lorsqu'on selectionne une des entrées dans la liste deroulante, les infos que l'utilisateur va pouvoir modifié, apparaissent instentanément dans les champ d'edition sans reload de la page

oui c'est possible ruicosta, mais ca va impliquer de loader tout le contenu de la base dans le fichier html dans javascript

si tu n'as que quelque enregistrements ca peu aller, mais franchement, ca me parait un peu trop 'uzine a gaz' juste pour eviter un chargement de page
ruicosta
ok j ai une question .
en utilisant ton code je tombe toujours sur mon formulaire c'est deja mieux;ma question est : si je met un code en php qui a pour but de recuperer et d afficher dans les autres champs les infos concernants chaque element de ma list de mon menu deroulant est ce que ca marchera ?autrement dit j ai conclu que le javascript s impose devant le php (peut etre que je di une connerie) donc est ce que un autre prog peut etre executer direct apres avoir poster mon formulaire .
wacko.gif
marci.
ruicosta
salut LDO wink.gif
c'est tout a fait ce que je cherche a faire .
et il me le faut ce programme pour mon stage blush.gif
aidez moi p_flower01.gif
K-ZimiR
ah ok, sans reload ..... blush.gif
là effectivement, il faut stocker les éléments de la table dans le code JavaScript ... et on va effectivement toucher "l'uzin à gaz" smile.gif

A mon avis, la technique est :
- reloader la page après le changement de "toto" en passant le paramètre de toto
- effectuer une requête en tête de page qui récupère les éléments à modifier par rapport au paramètre "toto"

MAIS, et c'est là que je vois le mais, j'ai fait une petite erreur dans ma fonction : le ACTION du formulaire n'est pas le même si tu changes toto ou si tu valides avec le bouton.

Donc dans ton tag formulaire, tu fixed le ACTION vers le script qui doit être appelé lorsque tu valides avec le bouton, et la fonction JavaScript devient :

CODE
<script language ="JavaScript">
<!--
function change() {
this.document.nomdetonformulaire.action = "tapageareloader.php";
this.document.nomdetonformulaire.submit();
}
-->
</script>


A mon avis cette méthode devrait fonctionner et t'évites de développer une usine à gaz smile.gif
J'éspère avoir répondu à ton attente wink.gif
ruicosta
Donc dans ton tag formulaire, tu fixed le ACTION vers le script qui doit être appelé lorsque tu valides avec le bouton, et la fonction JavaScript devient : wacko.gif .
j ai pas trop compris ce que tu veus dire par ca sinon la partie bouton laissons pour aprés apparamment on est d accord sur le probleme .
donc j essaye ton script et on verra .
en attendant une petite reca:

******Je veux que quand j'en selectionne un toto parmi mes toto's de ma list du menu deroulant, les infos des autres champs de mon formulairese(qui se trouve dans la meme page que mon menu deroulant) se mettent à jour par rapport a ce toto sans passer par un bouton ou par autres choses + la mise a jour va etre en php avec des requetes ds ma bdd(ca je m'en occupe ).***** B)

<edit=dan: merci d'éviter les paragraphes entiers en gras ou en couleur>
K-ZimiR
c'est à dire tu écris :

CODE
<form name="monform" action="monscriptdemaj.php" ........>


Et le "action" du tag form est différent du "action" du JavaScript.
ruicosta
avant tout sachez que je maitrise pas le javascript c just que j en aurai besoin .
c pour ca que je demande plus de details si c pas trop demandé ;en plus ton programme ou plutot
CITATION
<form name="monform" action="monscriptdemaj.php" ........>

ca ne mene pas a ce que je veux parceque quand je choisi un toto ca m envoie sur la meme page mais rien de modifié comme si je suis dans une boucle fermé ce qui change aprés tout c just les toto's que je choisi qui figurent sur la 1ere ligne du menu deroulant(j avoue que c deja mieux parraport a ce que j avais avant :up: ).
ruicosta
ca marche ca marche ca marche tongue.gif

c'est bon ca marche avec ton script merci a tous.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.