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/06/2009, 16h30   #1
Futur Membre du Club
 
Inscription : avril 2009
Messages : 81
Détails du profil
Informations personnelles :
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : avril 2009
Messages : 81
Points : 19
Points : 19
Par défaut javascript et php

bonjour à tous

je sèche sur un probleme depuis plusieurs heures et je vien sdemander de l'aide.

je programme des pages en php incluant des formulaires.

en fonction du choix dans un premier menu deroulant, un second menu deroulant s'affiche et en fonction du choix dans celui-ci, un troisieme s'affiche.

j'utilise un petit script java pour recuperer la variable issue du 1er menu deroulant qui permet de creer le second menu deroulant, puis la seconde variable issue du second menu pour construire le troisieme menu deroulant.

tout marche tres bien pour le 1er menu mais ca bloque au second.
quel est le souci dans mon javascript??

voici les deux script java:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script type="text/javascript">
function redirect(selectedValue){
	var selectedValue = document.getElementById('genre').options[document.getElementById('genre').selectedIndex].value;
	window.location.href = 'menu.php?genre='+selectedValue
}
 
 
</script>
<script type="text/javascript">
function redirectdeux(selectedValue){
	var selectedValue = document.getElementById('produit').options[document.getElementById('produit').selectedIndex].value;
	window.location.href = 'menu.php?genre='+<?php echo $genre; ?>+ '&amp;produit='+selectedValue2
}
 
</script>
et voici le code php qui appelle les scripts:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<form action="menu.php" method="get">
	   <select name="genre" id="genre" onchange="redirect(this.options[this.selectedIndex].value)">
	   <option value=""<?php echo choixParDefaut(''); ?>></option>
           <option value="HOMME"<?php echo choixParDefaut('HOMME'); ?>>HOMME</option>
           <option value="FEMME"<?php echo choixParDefaut('FEMME'); ?>>FEMME</option>
		   <option value="MIXTE"<?php echo choixParDefaut('MIXTE'); ?>>MIXTE</option>
       </select>
 
	   <?php
mysql_select_db($database_affectation, $affectation);
if(isset($_GET['genre']))      $genre=$_GET['genre'];
else      $genre="";
 
if(isset($_GET['genre']))
{
$query_Recordset1 = "SELECT DISTINCT produit FROM stock WHERE genre = '$genre' ORDER BY produit";
$Recordset1 = mysql_query($query_Recordset1, $affectation) or die(mysql_error());
 
echo "<form action='menu.php' method='get'>
<select name='produit' id='produit'  onchange='redirectdeux(this.options[this.selectedIndex].value)'>\n";
	  while ($ligne = mysql_fetch_assoc($Recordset1))
	   {
	   extract($ligne);
	   echo "<option value='$produit'".choixParDef($produit).">$produit\n";
	    }
		echo "</select>\n";}		
		?>
merci beaucoup!!
docteurdorian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2009, 19h14   #2
Responsable JavaScript & AJAX
 
Avatar de vermine
 
Inscription : mars 2008
Messages : 2 436
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : mars 2008
Messages : 2 436
Points : 4 886
Points : 4 886
Bonjour,

Vous passez en paramètre votre selectedValue et la première chose que vous faites dans vos fonctions, c'est de déclarer une autre variable selectedValue et de rerécupérer votre valeur sélectionnée.

Ensuite, dans la fonction deux, vous utilisez "$genre;". Comment est-ce que la fonction connait cette variable ? Elle est globale ?
vermine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2009, 10h20   #3
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 12 872
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 12 872
Points : 30 130
Points : 30 130
Et aussi, en plus de ce qu'a dit vermine :
Code :
window.location.href = 'menu.php?genre='+<?php echo $genre; ?>+ '&amp;produit='+selectedValue2
à quoi sert de définir une variable selectedValue pour envoyer selectedValue2

Et pour finir, une variable et un paramètre qui ont pour nom un mot clé de JavaScript...
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2009, 15h01   #4
Futur Membre du Club
 
Inscription : avril 2009
Messages : 81
Détails du profil
Informations personnelles :
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : avril 2009
Messages : 81
Points : 19
Points : 19
merci pour vos conseils

j'ai trouvé une solution qui me permet d'éviter les confusions dan smon code javascript.

je n'utilise plus que du code php, j'ai juste modifié une propriété qui me permet lorsque je clique sur ma liste déroulante de "poster" l'information.
Code :
1
2
<form action='menu.php' method='post'>
<select name='nom' id='nom'  onChange = submit();>
docteurdorian 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 +1. Il est actuellement 21h39.


 
 
 
 
Partenaires

Hébergement Web