Bonjour,
J'ai actuellement un formulaire de recherche qui grâce à Ajax.Autocompleter propose une autocompletion (liste de contributeurs de livres) :
Le fichier JavaScript :
Le script serveur :
Le système d'autocompletion fonctionne très bien. Je voudrais maintenant ajouter un second formulaire (recherche titres de mes livres) avec aussi le système d'autocompletion.
Comment modifier mon fichier JavaScript pour me permette de gérer 2 formulaires de recherche indépendamment ? Merci de votre éclairage sur le sujet.
Modifié par almoha (20 Nov 2010 - 13:27)
J'ai actuellement un formulaire de recherche qui grâce à Ajax.Autocompleter propose une autocompletion (liste de contributeurs de livres) :
<form action="liste_essai_pagination.php" method="get"id="recherche">
<div>
<input class="inputRecherche"type="text" id="departement" name="clesearch" value="<?php if(isset($_GET['clesearch'])) echo $_GET['clesearch']; ?>"/>
</div>
<div id="departement_propositions" class="autocomplete"></div>
<div>
<input type="submit" name="ok" class="bt_ok "value="Ok !"
</div>
</form>
<script type="text/javascript">
init();
</script>
Le fichier JavaScript :
var init = function ()
{
// Instanciation de la classe Autocompleter, pour le champ de saisie "departement"
new Ajax.Autocompleter(
"departement", // id du champ de formulaire
"departement_propositions", // id de l'élément utilisé pour les propositions
"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
});
}; // init
Le script serveur :
if(isset($_GET['clesearch'])) {
header('Content-type: text/html; charset=UTF-8');
// on inclut la connexion
mysql_connect('localhost', 'root', '');
mysql_select_db('db');
mysql_set_charset( 'utf8' );//ajouté pour gestion des accents
// on fait la requête
$sql = "SELECT nom_contributeur, prenom_contributeur
FROM contributeurs
WHERE nom_contributeur LIKE '".mysql_real_escape_string($_GET['clesearch'])."%'";
$req = mysql_query($sql);
$i = 0;
echo '<ul>';
// on boucle sur tous les éléments
while($autoCompletion = mysql_fetch_assoc($req)){
echo '
<li >'.$autoCompletion['nom_contributeur'].'<br/><span class="informal">'.$autoCompletion['prenom_contributeur'].'</span></li>'
;
// on s'arrête s’il y en a trop
if (++$i >= 10)
die('<li>...</li></ul>');
}
echo '</ul>';
die();
}
Le système d'autocompletion fonctionne très bien. Je voudrais maintenant ajouter un second formulaire (recherche titres de mes livres) avec aussi le système d'autocompletion.
Comment modifier mon fichier JavaScript pour me permette de gérer 2 formulaires de recherche indépendamment ? Merci de votre éclairage sur le sujet.
Modifié par almoha (20 Nov 2010 - 13:27)