Bonjour,

J'ai actuellement un formulaire de recherche qui grâce à Ajax.Autocompleter propose une autocompletion (liste comportant des titres de livre et des contributeurs).

Le formulaire :
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
 
<div id="recherche"><!--// DEBUT #recherche1 
 
	<form action="traitement.php" method="get"id ="">
 
	<input type="hidden" name="id" value=""/>
	<input type="hidden" name="type_search" value=""/>
 
	<label for="nom">RECHERCHER</label>
 
       	 <input  type="text" class="search-input" id="departement" name="clesearch" value="<?php if(isset($_GET['clesearch'])) echo $_GET['clesearch']; ?>"/>
 
	<div id="departement_propositions"  class="autocomplete"></div>
 
	<input class="btn_search" type="submit" name="Submit" value="">
 
 
    </form>
 
    <script type="text/javascript">
        init();
 
    </script>
 
</div><!--// end #recherche1 //
Le fichier JS :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
Event.observe(document, "dom:loaded", function() {
  if($("recherche")) {
    new Ajax.Autocompleter("departement",   // id du champ de formulaire
        "departement_propositions",  // id de l'élément utilisé pour les propositions
        "scripts/autoc/autocompleter-exemple-1-serveur.php",  // URL du script côté serveur
        {
            paramName: 'clesearch',  // Nom du paramètre reçu par le script serveur
			method:'get',
            minChars: 1   // Nombre de caractères minimum avant que des appels serveur ne soient effectués
 
        });
  }
});
Le script serveur :
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
 
<?php
 
 
if(isset($_GET['clesearch'])) {
 
 
// requête
$sql = "SELECT titre AS res, id_titre AS id, type_s AS type_search
 
FROM livre
 
 WHERE titre LIKE '%".mysql_real_escape_string($_GET['clesearch'])."%'
 union ALL
SELECT concat(nom_contributeur,', ',prenom_contributeur) AS res,id_contributeur AS id, type_s AS type_search
 
 FROM contributeurs
 
 WHERE nom_contributeur LIKE '%".mysql_real_escape_string($_GET['clesearch'])."%'OR prenom_contributeur LIKE '%".mysql_real_escape_string($_GET['clesearch'])."%'";
 
 
 
		$req = mysql_query($sql);
 
		$i = 0;
		echo '<ul>';
 
		while($autoCompletion = mysql_fetch_assoc($req)){
 
 
			echo '
 
			<li >'.$autoCompletion['res'].'
			<span class="informal"style="display:none>'.$autoCompletion['id'].'</span>
			<span class="informal"style="display:none>'.$autoCompletion['type_search'].'</span>'
			</li>';
 
			if (++$i >= 10){
				die('<li>...</li></ul>');}
 
 
		}
		echo '</ul>';
		die();
	}
?>
Le champ "res" correspond au titre d'un livre ou au contributeur d'un livre (item qui s'affiche dans la liste des propositions). Le champ " id "correspond à l'id du titre ou du contributeur. Le champ "type_search" correspond au type de recherche déclenchée une fois que l'utilisateur à cliqué sur l'une des propositions et soumis le formulaire.
Ces 2 champs me sont utiles en php pour construire la requête déclenchée une fois le formulaire soumis. Je souhaiterais récupérer la valeur de ces 2 champs et la rapatrier dans les 2 "input hidden" de mon formulaire :

<input type="hidden" name="id" value=""/>
<input type="hidden" name="type_search" value=""/>

En regardant la doc de scriptaculous, j'ai vu que l'option parameters pouvait correspondre à ma problématique : "A text string containing extra query parameters to be passed to the server-side resource".
Ou peut-être faut-il passer par l'option afterUpdateElement faisant appel à une fonction getSelectionId. Mais je suis vraiment débutant : je ne sais pas du tout comment m'y prendre pour arriver au résultat souhaité...Pouvez-vous m'aider ? Merci.