Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/01/2011, 11h22   #1
Invité de passage
 
Inscription : mars 2008
Messages : 9
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 9
Points : 2
Points : 2
Par défaut Récupération d'une valeur en fonction d'une autre

Bonjour,

Sur mon formulaire, j'ai un menu déroulant comme ceci :

Code html :
1
2
3
4
5
6
7
	<SELECT name="category" size=1><?php echo "$category";?>
	<OPTION value="0"></OPTION>
	<OPTION value="trail">Trail</OPTION>
	<OPTION value="randovtt">Rando VTT</OPTION>
	<OPTION value="raid">Raid</OPTION>
	<OPTION value="Autre">Autre</OPTION>
	</SELECT>

Je souhaiterais que quand l'utilisateur sélectionne par exemple la valeur "Trail", la valeur "puce_noir.png" soit récupérée par la variable $puce.

Voir http://chti.sportif.free.fr/formulaire/ajout.php

Comment faire ?
Merci
Rem5962 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2011, 12h28   #2
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 930
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 930
Points : 4 744
Points : 4 744
Bonjour,
je ne comprends pas la construction de ton SELECT et notamment
Code :
<?php echo "$category";?>
Sinon sur le onchange du SELECT tu modifies le champ puce avec la valeur qui va bien, et à la soumission tu aura le bon paramètre ????
Code :
1
2
3
4
5
6
7
8
<select name="category" size=1><?php echo "$category";?>
<option value="0"></option>
<option value="trail">Trail</option>
<option value="randovtt">Rando VTT</option>
<option value="raid">Raid</option>
<option value="Autre">Autre</option>
</select>
<input name="puce" type="hidden" value="">
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2011, 13h20   #3
Invité de passage
 
Inscription : mars 2008
Messages : 9
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 9
Points : 2
Points : 2
Il y a peut-être une erreur de codage. Je n'y connais pratiquement en javascript. J'ai juste essayé d'adapter un code fourni. En tout cas ma variable est bien récupéré dans ma table SQL.

Peux tu me corriger le "SELECT" ?
Rem5962 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2011, 14h51   #4
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 930
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 930
Points : 4 744
Points : 4 744
il n'y a que du grand classique, disponible en masse sur la toile, par exemple
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
  <fieldset>
    <legend><?php echo "$category";?></legend>
    <select name="category" size=1 onchange="fnChange(this);">
      <option value="0"></option>
      <option value="trail">Trail</option>
      <option value="randovtt">Rando VTT</option>
      <option value="raid">Raid</option>
      <option value="Autre">Autre</option>
    </select>
    <br><input name="puce" id="puce" type="hidden" value="">
  </fieldset>
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2011, 19h04   #5
Invité de passage
 
Inscription : mars 2008
Messages : 9
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 9
Points : 2
Points : 2
Merci.

Mais quelque soit la valeur du Select (trail, rando...) la valeur de puce sera tjrs la même avec ton exemple non ?

J'aimerais que quand
trail ---> puce_noir.png ($puce)
rando vtt --> puce_vert.png ($puce)
autre ---> puce_autre.png ($puce) .....

A priori je dois utiliser un "array"
Rem5962 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2011, 19h29   #6
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 930
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 930
Points : 4 744
Points : 4 744
Citation:
Envoyé par Rem5962 Voir le message
Il y a peut-être une erreur de codage. Je n'y connais pratiquement en javascript. J'ai juste essayé d'adapter un code fourni. En tout cas ma variable est bien récupéré dans ma table SQL.

Peux tu me corriger le "SELECT" ?
j'ai traduis que cela marchait et qu'il fallait juste corriger le
Code :
<select name="category" size=1><?php echo "$category";?>
Donc reprenons
sur l'événement onchange du SELECT il faut mettre une fonction qui initialisera le champ puce, comme dit précédemment.

Dans cette fonction
- on récupère l'OPTION sélectionnée et
- on affecte la valeur qui va bien au champ puce.

La récupération du numéro de l'option sélectionnée se fait en lisant le selectedIndex du SELECT, sachant que la numérotation se fait en partant du 0, correspondant à la première ligne

Il nous faut également un champ puce, par exemple
Code :
<input name="puce" id="puce" type="hidden" value="">
on lui met une ID pour pouvoir le récupérer avec la méthode getElementById()

Il faut également connaître les différentes images à affecter suivant le choix, pour ce faire on va utiliser les ID des OPTIONS pour stocker cette information, cet attribut n'est en pratique pas ou peu utilisé sur les OPTIONS.

Le code du SELECT devient donc
Code :
1
2
3
4
5
6
7
8
9
10
11
  <fieldset>
    <legend>categorie</legend>
    <select name="category" size=1 onchange="fnChange(this);">
      <option value="0"></option>
      <option id="image_trail.jpg" value="trail">Trail</option>
      <option id="image_rando.jpg" value="randovtt">Rando VTT</option>
      <option id="image_raid.jpg"  value="raid">Raid</option>
      <option id="image_autre.jpg" value="Autre">Autre</option>
    </select>
    <br><input name="puce" id="puce" type="hidden" value="">
  </fieldset>
Maintenant il reste à faire la fonction d'affectation, je te la mets ci dessous sans vraiment l'expliquer, les commentaires me semblant suffisant
Code :
1
2
3
4
5
6
7
8
function fnChange( obj){
  // recup numero option selectionnee
  var index = obj.selectedIndex;
  // recup element champ puce
  var oDest = document.getElementById('puce');
  // affectation de la valeur recupere dans l'ID de l'option
  oDest.value = obj.options[index].id;
}
on notera juste que l'on passe en paramètre de la fonction la référence au SELECT pour pouvoir l'exploiter.

A toi de finaliser...
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2011, 20h28   #7
Invité de passage
 
Inscription : mars 2008
Messages : 9
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 9
Points : 2
Points : 2
Merci bcp. Tout est ok
Rem5962 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h19.


 
 
 
 
Partenaires

Hébergement Web