Problème d'autocomplession avec le Framework sriptaculous

Eléphanteau du PHP | 39 Messages

15 mai 2008, 16:31

Bonjour à tous,

Je souhaite faire de l'auto-complession AJAX sur l'un des champs de mon formulaire, pour cela j'utilise Scriptaculous un framework libre.

Mais ça ne fonctionne pas, j'ai pourtant respecté tout ce qu'il fallait faire je ne comprend pas.

Sachant que mon site est hebergé chez 1&1.

Voici le code du formulaire

Code : Tout sélectionner

<script type="text/javascript" language="javascript" charset="utf-8"> new Ajax.Autocompleter("nom_anim","liste","auto_result.php",{paramName:"value",minChars:1}); </script> <form action="archive_animations.php" method="post" name="search_animation"> <p align="center"> <div align="left" style="width:auto; height:auto"> <label>Nom de l'animation</label> <input id="nom_anim" name="nom_anim" type="text" size="30" maxlength="100" /> <div id="liste" style="background-color:#999999; width:auto; height:auto"></div> </div>...
Sachant j'ai bien mis les liens necessaires tels que

Code : Tout sélectionner

<script src="scriptaculous/lib/prototype.js" type="text/javascript"></script> <script src="scriptaculous/src/scriptaculous.js" type="text/javascript"></script>
Et que mon fichier auto_result.php me retourne bien la liste demandée

code du fichier auto_result.php
$val=$_POST['value'];

$req= "select anim_nom from animations where anim_nom like '$val%'";
$result= mysql_query($req);

$nb= mysql_num_rows($result);
$i=0;
echo"<ul>";
while ($nb>$i)
	
	{
		$data=mysql_fetch_object($result);
		echo "<li>$data->anim_nom</li>";
		$nb--;	
	}
echo"</ul>";
Merci d'avance pour votre aide, car je ne m'en sort plus
C'est en forgeant qu'on se forge

Mammouth du PHP | 19672 Messages

15 mai 2008, 16:39

Petit truc qui pourra t'aider à mieux cerner la source du problème : si tu utilises Firefox, installe l'addon Firebug : il y a des fonctionnalités pour suivre ce qui se passe en AJAX qui te permet entre autres chose de voir ce qui est envoyé au serveur et ce que ce dernier te retourne.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 39 Messages

15 mai 2008, 17:52

C'est bon ça fonctionne, j'ai juste basculé le script en dessous du formulaire

Code : Tout sélectionner

<form action="archive_animations.php" method="post" name="search_animation"> <p align="center"> <div align="left" style="width:auto; height:auto"> <label>Nom de l'animation</label> <input id="nom_anim2" name="nom_anim" type="text" size="30" maxlength="100" /> <div id="liste" style="background-color:#999999; width:auto; height:auto"></div> </div> <label>Date de l'animation</label> <select name="date_anim" ></select><br/><br/> <label>Catégorie de l'animation</label> <select name="categorie_anim"> <option value="" selected="selected"> Choisir une catégorie</option> <option value="animation_jeunesse">Animation jeunesse</option> <option value="animation_scolaire">Animation scolaire</option> <option value="animation_tout_public">Animation tout public</option> <option value="heure_du_conte">Heure du conte</option> </select> <label>Genre de l'animation</label> <select name="genre_anim" > <option value="" selected='selected'>Choisir un genre</option> <option value="atelier_artistique">Atelier artistique</option> <option value="atelier_ecriture">Atelier d'écriture</option> <option value="conte_adulte">Conte aldulte</option> <option value="conte_jeunesse">Conte jeunesse</option> <option value="exposition">Exposition</option> <option value="soiree_jeu">Soirée jeu</option> </select> <br/><br/> <label>Mots clés</label><br/> <input name="mot_cle" type="text" size="30" maxlength="50" /> <br/><br/> <input name="rechercher" type="submit" value="rechercher" /> </p> </form> <script type="text/javascript" language="javascript" charset="utf-8"> new Ajax.Autocompleter("nom_anim2","liste","auto_result.php",{paramName:"value",minChars:1}); </script>
:oops: :oops: :oops: :oops: :oops: :( :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops:
C'est en forgeant qu'on se forge

Mammouth du PHP | 19672 Messages

15 mai 2008, 20:23

Parfait, mais as-tu compris pourquoi ça fonctionnait de cette manière et pas avant ? La réponse est simplissime quand on la connaît, mais autrement c'est pas évident à deviner quoique... c'est purement logique... ;)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: