Aller au contenu

menu deroulant php/javascrtipt


Sujets conseillés

Posté

bonjour a tous ;

je vais essayé de bien expliquer mon problème en sappuyant 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 senregistre 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) cest 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 lid ( 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 .

Posté

voici un exemple de fonction JavaScript à mettre dans le HEAD de la page :

<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 :

<select name="toto" onChange="change()">
<option>bla bla</option>
</select>

En espérant avoir aidé ;)

Posté

je tiens tout d abord a t remercier K-ZimiR :lol: .

vu les exemples que j ai vu sur le net apparamment ce que je demande est compliqué (a mon niveau en javascript :whistling: ).

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 "".

Posté

de rien ;)

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 :

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

Guest Ldo
Posté (modifié)

non, t'as toujours pas comprit ce k'il veut Kaz a mon avis ^^

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

Modifié par Ldo
Posté

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:

marci.

Posté

ah ok, sans reload ..... :blush:

là effectivement, il faut stocker les éléments de la table dans le code JavaScript ... et on va effectivement toucher "l'uzin à gaz" :)

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 :

<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 :)

J'éspère avoir répondu à ton attente ;)

Posté

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: .

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>

Posté

c'est à dire tu écris :

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

Et le "action" du tag form est différent du "action" du JavaScript.

Posté

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

<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: ).

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...