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