Bonjour, je rencontre un problème en php et javascript dans mon stage de fin de licence. Je sèche réelement.

Voila mon problème :

A partir d'une url, saisie par un client (une entreprise X) de la société ds laquelle je suis, inclue ds la page de son site, un script php est appélé et permet de générer un menu html en fonction des parametres de cette derniere. Si dans cette url les parametres choisis sont tels que le menu de recherche doit afficher des listes deroulantes de lieu, alors le menu affichera des listes déroulantes liées: le choix d'un pays entrainera le choix d'une region, qui entrainera le choix d'un département.... Ainsi un utilisateur Y de cette entreprise X pourra faire ses choix dans ce menu de recherche.
J'ai un problème au niveau de la fonction onchange de ces listes déroulantes. En local qd je suis sur mon site , pour les tests, ca marche super bien mais des que je suis chez le client Y qui a fait appel a mon script le onchange ne permet plus de faire la suite du traitement du choix des lieux, et je ne sais plus comment faire. pour rester toujours ds mon script pour continuer les traitements.. Je pense que ce la vient du windows.location.url

Par ailleurs, l'envoi du formulaire en cliquant sur le bouton envoyer n'envoie pas les données vers le lien définit dans action.

voila mon code :

l'url saisie de la page du client:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
<?php include ("http://localhost/recuperation-objets-immobiliers/affichage/ajoutermenu/country/tout**"); ?>
Je travaille sous zend framework, pr expliquer au plus simple ici ma variable country prend la valeur tout et ca selectionne tous les lieux par défaut que j'ai mis dans des tableaux (tabPays pour les pays, tabRegion pour les regions, ...). Je ne vous montre pas la partie de traitement pour stocker les valeurs dans ces tableaux.

voila mon code du formulaire et de la selection des lieux

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
<form method="post" action="http://localhost/recuperation-objets-immobiliers/traitement/resultat" id="formulaire_recherche" name="formu">
 
<!-- Sélection du lieu principal de recherche -->
<label>Pays : </label>
 
<select name="pays_select" onchange="document.forms['formu'].action=window.location.url; document.forms['formu'].submit();">
<option value=''>Sélectionner un pays</option>
<?php
foreach ($this->tabPays as $clef):
if (!isset ($this->pays_selectionne))
{?>
<option value="<?php echo $clef['ext']; ?>"><?php echo $clef['country']; ?></option>';<?php
} else {
if($this->pays_selectionne == $clef['ext'])
{?>
<option value="<?php echo $clef['ext']; ?>" selected="selected"><?php echo $clef['country'];?></option>
<?php
} else
{?>
<option value="<?php echo $clef['ext']; ?>"><?php echo $clef['country']; ?></option>';<?php
}
}
endforeach; ?>
</select><br><br>
 
<!-- Sélection du lieu secondaire de recherche -->
<?php
if ((isset ($this->pays_selectionne)) && (Count($this->tabRegion)!=0)) {?>
<label><?php echo $this->sous_lieu; ?> : </label>
<select name="region_select" onchange="document.forms['formu'].action=window.location.url; document.forms['formu'].submit();">
<option value=''><?php echo $this->sous_lieuDefault; ?></option>
<?php
foreach ($this->tabRegion as $val) :
if ($this->region_selectionnee == $val['ID'])
{?>
<option value="<?php echo $val['ID'];?>" selected="selected"><?php echo $val['Nom']; ?></option>
<?php
} else { ?>
<option value="<?php echo $val['ID'];?>"><?php echo $val['Nom']; ?></option><?php
}
endforeach; ?>
</select><br><br><?php
}?>
 
<!-- Sélection du lieu tertiaire -->
<?php
if($this->pays_selectionne=="fr") {
if ((isset ($this->region_selectionnee)) && (Count($this->tabSousRegion)!=0)) {?>
<label><?php echo $this->sous_sous_lieu; ?> : </label>
<select name="sous_region_select" onchange="document.forms['formu'].action=window.location.url; document.forms['formu'].submit();">
<option value=''><?php echo $this->sous_sous_lieuDefault; ?></option>
<?php
foreach ($this->tabSousRegion as $val) :
if ($this->sous_region_selectionnee == $val['ID_region'])
{?>
<option value="<?php echo $val['ID_region'];?>" selected="selected"><?php echo $val['Name']; ?></option>
<?php
} else { ?>
<option value="<?php echo $val['ID_region'];?>"><?php echo $val['Name']; ?></option><?php
}
endforeach; ?>
</select><br><br><?php
}
} else {
if ((isset ($this->region_selectionnee)) && (Count($this->tabSousRegion)!=0)) {?>
<label><?php echo $this->sous_sous_lieu; ?> : </label>
<select name="sous_region_select" onchange="document.forms['formu'].action=window.location.url; document.forms['formu'].submit();">
<option value=''><?php echo $this->sous_sous_lieuDefault; ?></option>
<?php
foreach ($this->tabSousRegion as $val) :
if ($this->sous_region_selectionnee == $val['ID_arrondissement'])
{?>
<option value="<?php echo $val['ID_arrondissement'];?>" selected="selected"><?php echo $val['Nom']; ?></option>
<?php
} else { ?>
<option value="<?php echo $val['ID_arrondissement'];?>"><?php echo $val['Nom']; ?></option><?php
}
endforeach; ?>
</select><br><br><?php
}
}?>
 
<!-- Sélection du lieu quaternaire -->
<?php
if ((isset ($this->sous_region_selectionnee)) && (Count($this->tabSousSousRegion)!=0)) {?>
<label><?php echo $this->sous_sous_souslieu; ?> : </label>
<select name="sous_sousregion_select" onchange="document.forms['formu'].action=window.location.url; document.forms['formu'].submit();">
<option value=''><?php echo $this->sous_sous_souslieuDefault; ?></option>
<?php
foreach ($this->tabSousSousRegion as $valeur) :
if ($this->sous_sousregion_selectionnee == $valeur['ID_arrondissement'])
{?>
<option value="<?php echo $valeur['ID_arrondissement'];?>" selected="selected"><?php echo $valeur['Nom']; ?></option>
<?php
} else { ?>
<option value="<?php echo $valeur['ID_arrondissement'];?>"><?php echo $valeur['Nom']; ?></option><?php
}
endforeach; ?>
</select><br><br><?php
}?>
 
<!-- Sélection du lieu final -->
<?php
if($this->pays_selectionne=="lu") {
 
if((isset ($this->region_selectionnee)) && (Count($this->tabCommune)!=0)) {?>
<label><?php echo $this->lieu_final; ?> : </label>
<select name="commune_select">
<option value=''><?php echo $this->lieu_finalDefault ?></option>
<?php
foreach ($this->tabCommune as $va) : ?>
<option value="<?php echo $va['ID_communes'];?>"><?php echo $va['Nom_communes']; ?></option><?php
endforeach; ?>
</select><br><br><?php
}
}else if($this->pays_selectionne=="fr"){
if ((isset ($this->sous_sousregion_selectionnee)) && (Count($this->tabCommune)!=0)) {?>
<label><?php echo $this->lieu_final; ?> : </label>
<select name="commune_select">
<option value=''><?php echo $this->lieu_finalDefault ?></option>
<?php
foreach ($this->tabCommune as $va) : ?>
<option value="<?php echo $va['ID_communes'];?>"><?php echo $va['Nom_communes']; ?></option><?php
endforeach; ?>
</select><br><br><?php
}
}else {
if ((isset ($this->sous_region_selectionnee)) && (Count($this->tabCommune)!=0)) {?>
<label><?php echo $this->lieu_final; ?> : </label>
<select name="commune_select">
<option value=''><?php echo $this->lieu_finalDefault ?></option>
<?php
foreach ($this->tabCommune as $va) : ?>
<option value="<?php echo $va['ID_communes'];?>"><?php echo $va['Nom_communes']; ?></option>
<?php
endforeach;
?>
</select><br><br><?php
}
 
}
?>
 
<input type="submit" value="Rechercher" />
</form>
Jespere que quelqu'un pourra m'aider sur ce probleme, merci par avance.