Bonjour,
je souhaite que jquery "remplisse" deux champs suite à la sélection d'une recherche : le premier "inputString" se remplit bien mais pas le deuxième champ 'secteur' "inputsecteur" ( = $secteur_recupere )...
Merci de votre aide.

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
..........
<script type="text/JavaScript">
function lookup(inputString) {
		if(inputString.length == 0) { // si le champs txte est vide
			$('#suggestions').hide(); // on cache les suggestions
		} else { // sinon
			$.post("ajax_lieu.php", {queryString: ""+inputString+""}, function(data){ 
			// on envoie la valeur du champ texte dans la variable post queryString au fichier ajax_lieu.php
				if(data.length >0) {
					$('#suggestions').show(); // si il y a un retour, on affiche la liste
					$('#autoSuggestionsList').html(data); // et on remplit la liste des données
				}
			});
		}
	}
	function fill(thisValue) { // remplir le champ texte si une suggestion est cliquée
		$('#inputString').val(thisValue); // ok fonctionne bien
		$('#inputsecteur').val(); // pour le secteur !
		setTimeout("$('#suggestions').hide();", 200);
	}
	$(document).ready( function () {
		$("input#inputString").keyup( function() { // si on presse une touche du clavier en étant dans le champ texte qui a pour id inputString
			lookup($(this).val()) 
		});
		$("input#inputString").blur( function() { // si le champ texte perd le focus
			fill() 
		});
	});
</script>
.......... formulaire ..........
<label for="ev7">Nom du lieu &nbsp; : &nbsp; </label>
<br />
<!-- pour affichage des lieux -->
<input type="text" tabindex ="10" name="lieu3" class="ev" value="<?php echo stripslashes($lieu_affiche) ?>" id="inputString" onblur="this.className='ev';valide(this, 'err_mdp');" class="ev" /><!--  champ texte à analyser pour les suggestions -->
 <div class="suggestionsBox" id="suggestions" style="display: none;"> <!-- bloc contenant les eventuelles suggestions -->
<div class="suggestionList" id="autoSuggestionsList"><!-- liste contenant les suggestions -->
</div>
</div>
<!-- FIN de : pour affichage des lieux -->

<!-- pour affichage du secteur -->
<input type="text" tabindex ="11" name="secteur" class="ev" value="<?php echo stripslashes($secteur_recupere) ?>" id="inputsecteur" onblur="this.className='ev';valide(this, 'err_mdp');" class="ev" /><!--  champ texte à analyser pour les suggestions -->
 <div class="suggestionsBox" id="suggestions" style="display: none;"> <!-- bloc contenant les eventuelles suggestions -->
<div class="suggestionList" id="autoSuggestionsList"><!-- liste contenant les suggestions -->
</div>
</div>
<!-- FIN de : pour affichage du secteur -->
......

ajax_lieu.php :
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
<?php
require('configuration.php');$sql = connect_sql();
mysql_query("SET NAMES utf8");
if(isset($_POST['queryString'])) // si la longueur du contenu de la variable est superieur à 0
	{	$queryString = mysql_real_escape_string($_POST['queryString']);
		if(strlen($queryString) >0) 
		{	$chaine_post_recupere	= stripslashes($_POST['queryString']);				// recupere la valeur saisie
			$chaine_pour_requete_ajax 	= mysql_real_escape_string($chaine_post_recupere);	// valeur avec protection contre injections sql
			$chaine_pour_requete 	= stripslashes($chaine_pour_requete_ajax);				// valeur a afficher sans les slashes & cie...
			$result = mysql_query("SELECT * FROM lieu WHERE nom LIKE '%$chaine_pour_requete%' LIMIT 15");
			if($result) {	// on parcourt les resultats et on affiche les resultats dans un element de liste en ajoutant la fonction fill sur l'evenenement onClick
			while($nom = mysql_fetch_array($result))
			{	echo '<li onClick="fill(\''.$nom["nom"].' ('.($nom["ville"]).')'.'\');">'.stripslashes($nom["nom"]).'('.stripslashes($nom["ville"]).')'.'</li>';	
				$secteur_recupere = $nom["secteur"];
			}
						}
						else	{	echo 'pas de resultat';	}
		}
		else	{	echo 'pas de saisie';	}
	}
	else	{	echo 'Il ne devrait pas avoir un accès direct à ce script !!!';	}
?>