je vous explique mon problème.
Je voudrais en fait afficher une liste déroulante dont le contenu serait fonction d'une liste déroulant se trouvant juste avant.
Pour cela j'utilise la fonction load() de la librairie jquery de cette manière :
<select name="clients" class="input_texte" onchange=" $('#projet_client').load('choix_projet.php', {id: document.form.clients.value} );"><!--, function() { alert(document.form.clients.value); } -->
<option value="0">--- Choisir dans la liste ---</option>
<?
$select_client = mysql_query("SELECT * FROM contacts WHERE type = '3' ORDER BY nom") or die(mysql_error());
while($tab_client = mysql_fetch_array($select_client)){
if($contact == $tab_client['id']){ $selected = 'selected'; } else { $selected = ''; }
echo "<option value='".$tab_client['id']."' ".$selected.">".$tab_client['nom']."</option>";
}
?>
</select>
Ensuite plus loin dans mon code j'ai ceci (la deuxième liste déroulante où je souhaiterais afficher les projets liés au client sélectionné dans la liste ci-dessus)<select name="projet_client" class="input_texte">
<option value="0">--- Choisir dans la liste ---</option>
</select>
Avec la fonction load() j'appelle donc le fichier choix_projet.php dans lequel j'ai ceci :
<?
include ("../utile/connexion.php");
include ("../utile/parametres.php");
if(isset($_POST['id']) and ($_POST['id'] != 'undefined' or $_POST['id'] != '') ) {
$query = mysql_query("SELECT * FROM projets WHERE id_contact = '".$_POST['id']."'") or die(mysql_error());
if(mysql_num_rows($query) > 0) {
echo "<select name='projet_client' class='input_texte'>";
echo "<option value='0'>--- Choisir dans la liste ---</option>";
while ($result = mysql_fetch_array($query)) {
echo "<option value='".$result['id']."'>".$result['intitule']."</option>";
}
echo "</select>";
}
else {
echo 'Aucun projet pour ce client';
}
}
?>
Donc tout se passe bien, ma deuxième liste déroulante s'affiche correctement et est bien fonction de la première liste déroulante.Seulement à la fin quand je valide mon formulaire complet, aucune valeur (même si j'en choisi une) n'est passé en POST comme si cette deuxième liste déroulante n'était pas créée. Alors que ds mon code source (via firebug) elle apparait bien.
Comment résoudre ce problème ?
Merci.