Bonjour,

j'utilise la librairie scriptaculous.js pour g�rer les autocompl�tions sur mon site web. Celle ci marche parfaitement, sauf que j'aimerai la pousser un peu plus, � savoir de base, quand on choisit un �l�ment de la liste g�n�r�e par l'autocompl�tion, et que l'on clic sur l'�l�ment, cela efface tout l'input text qui lui est affect�, et remplace tous ses �l�ments par la valeur s�lectionn�e. Et moi, j'aimerai pouvoir ajouter des �l�ments � ceux d�ja existants.

Prenons un exemple :
dans mon input, j'ai d�ja les noms : Nom1;Nom2;
je tappe en plus "no" � la suite, la cela me g�n�re bien l'autocompl�tion avec tous les noms de ma bdd commencant par "no", mais lorsque je clic sur "Nom3", cela m'efface Nom1;Nom2; et me le remplace par Nom3, et moi j'aimerai que cela m'affiche Nom1;Nom2;Nom3;

j'ai essay� de mettre une fonction JS sur la liste dans ma page ajax, mais rien n'y fait, il prend bien en compte ma fonction, mais passe outre par la suite, et m'efface tout mon champs.

Ma question est donc la suivante : comment faire pour rajouter un �l�ment � un input en utilisant la librairie scriptaculous.js ?

Voila mes codes :
HTML
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
 
<input type="text" name="A" id="A" />
<div id="auto_search"></div>
<script type="text/javascript">
        new Ajax.Autocompleter (
	'A',      // ID of the source field
	'auto_search',  // ID of the DOM element to update
	'ajax.php', // Remote script URI
	{method: 'post', paramName: 'nom_mp' }
	);
	</script>
j'ai essayer de rajouter les options udpateElement ou afterUpdateElement en leur passant le nom de ma fonction js, mais ca n'a rien chang�.

Ma page ajax.hp
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
 
if(isset($_POST["nom_mp"]))
{
	$usermp = explode(";",$_POST["nom_mp"]);
	$tailleusermp = sizeof($usermp)-1;
 
	$req = mysql_db_query($sql_bdd,"SELECT login FROM users WHERE login LIKE '".$usermp[$tailleusermp]."%' ORDER BY login ASC");
 
	if(mysql_num_rows($req)!=0)
	{
		echo "<ul>";
		$i=0;
		while($rec = mysql_fetch_array($req))
		{
			?>
			<li><a href="javascript:void(0);" onclick="Reporter('<?php echo utf8_encode($rec["login"]); ?>')"><?php echo utf8_encode($rec["login"]); ?></a></li>
			<?php
			if (++$i >= 10) die('<li>...</li></ul>');
		} // fin du while
	}
}
Et ma fonction JS Reporter()
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
 
function Reporter(user) 
	{
		var present = $('A').value;
		var choix = user+";";		
		var i=0;
		var ok = 1;		
		while(i<present.split(';').length)
		{
			var userExist = present.split(';');
			if(userExist[i]==user) { ok = 0; }
			i++;
		}
		if(ok==1) { $('A').value = present+choix; }
	}
Merci pour votre aide !