Bonjour, j'ai réussi a modifier le code pour pouvoir faire plusieurs autocompletion sur une même page.
Tout d'abord sur chaque input:
onclick="initAutoComplete(document.getElementById('formulaire'),document.getElementById('etablissement2'),document.getElementById('bouton-submit'),'champ','table','champ2') "
Champ, table et champ2 me permette d'aller chercher mes valeurs dans la base de donnée :
1 2 3 4 5 6 7 8 9
| var champ_sortie=null;
var table_sortie=null;
var champ2_sortie=null;
function initAutoComplete(form,field,submit,champ,table,champ2){
champ_sortie=champ;
table_sortie=table; // je met les parametres de initAutoComplete dans des variables, pour les reutiliser en les'envoyant dans l adresse
champ2_sortie=champ2;
...
} |
Dans la page option.php :
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
|
$champ = $_GET['champ'];
$table = $_GET['table'];
$champ2 = $_GET['champ2'];
$MAX_RETURN = 10;
$i = 0;
$suggest_query = pg_query("SELECT $champ FROM $table WHERE $champ2 LIKE '$debut%' LIMIT 10");
$id=0;
while($suggest = pg_fetch_row($suggest_query)) {
$liste[$id]= $suggest[0];
$id++;
}
foreach ($liste as $element) {
if ($i<$MAX_RETURN && substr($element, 0, strlen($debut))==$debut) {
echo(utf8_encode("<option>".$element."</option>"));
$i++;
}
}
echo("</options>"); |
Que j'appel comme cela dans la fonction callSuggestions
_xmlHttp.open("GET",_adresseRecherche+"?debut="+valeur+"&champ="+champ_sortie+"&table="+table_sortie+"&champ2="+champ2_sortie,true);
ENsuite desactivation du bonton submit dans divOnMouse
1 2 3 4
| var divOnMouseDown=function(){
_inputField.value=getSuggestion(this);
// _documentForm.submit() desactivation du click submit
}; |
Partager