Bonjour, j'ai fai un code de recherche sur un site, il y'a un module de recherche par region qui genere une liste deroulante des departements de cette region générée en ajax ... puis un select categories (donc trois select), quand on clique sur rechercher, j'ai fais un window.location pour rediriger vers la page ou la recherche se fait, et les variables sont bien transmises dans l'url .

sur cette meme page, le meme formulaire, a un detail pret, le formulaire récupère les données de l'url et reaffiche tout bien la region, le departement et la categorie recherchée, le tri se fait bien en php .

Sauf que : le select departement, est généré en php et non en ajax, porte le meme nom "departement", et là ... quand je reclique sur rechercher sur la page de recherche, la valeur du champ "departement" n'est plus récupérée et n'est donc plus transmise dans l'url ...

Néanmoins, quand je change de région, sa regenère le champ departement et ... là la variable est de nouveau générée dans l'url ...

Alors pourquoi, quand le champ est généré en php sa récupère pas la donnée en js, alors que quand le champ est généré en ajax sa marche :S bizarre, je demande de l'aide car c'est à n'y rien comprendre, merci par avance .

module de recherche de la page de recherche :

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
 
// Module de recherche
        $reg=$_GET['region'];
	$queryRegions=mysql_query("SELECT * FROM region");
	$queryCategories=mysql_query("SELECT * FROM categorie");
	?>
    <table id="recherche"><tr><td>
	<select name="region" id="region" onChange="regions(this.value)"><option value="">Région</option><?php while ($regions=mysql_fetch_array($queryRegions)) { ?><option value="<?php echo $regions['id']; ?>" <?php if ($reg==$regions['id']) { ?>selected="selected"<?php } ?>><?php echo $regions['region']; ?></option><?php } ?></select> 
	<span id="depart">
    <?php
    if ($reg!="" && is_numeric($reg))
    	{$recupeRegion=mysql_query("SELECT * FROM departement WHERE id_region='$reg'"); $numRecupeIdRegion=mysql_num_rows($recupeRegion);
		if (1<=$numRecupeIdRegion) 
			{ 
			?>
            <select name="departement"><option value="">Département</option><?php while ($afficheDep=mysql_fetch_array($recupeRegion)) { ?> <option value="<?php echo $afficheDep['id']; ?>" <?php if ($dep==$afficheDep['id']) { ?>selected="selected"<?php } ?>><?php echo $afficheDep['departement']; ?></option><?php } ?></select>
			<?php
                        }
                }
        ?>
    </span>
	<select name="categorie" id="categorie"><option value="">Catégorie</option><?php while ($categories=mysql_fetch_array($queryCategories)) { ?><option value="<?php echo $categories['id']; ?>" <?php if ($cat==$categories['id']) { ?>selected="selected"<?php } ?>><?php echo $categories['categorie']; ?></option><?php } ?></select> 
	</td><td>
    <div id="rechercher" onMouseOver="this.style.cursor='pointer';" onClick="recherche();"></div>
    </td></tr></table>
js :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
function recherche()
	{
	var region=document.getElementById('region');
	var categorie=document.getElementById('categorie');
	var departement=document.getElementById('departement');
	var cherche="index.php?req=projets";
	if (region && region.value!="") {var reg="&region="+region.value;} else {var reg="&region=";}
	if (departement && departement.value!="") {var dept="&departement="+departement.value;} else {var dept="&departement=";}
	if (categorie && categorie.value!="") {var cat="&categorie="+categorie.value;} else {var cat="&categorie=";}
	window.location.href=cherche+reg+dept+cat;
	}
Merci encore