[AJAX] autocompletion php bdd ajax
Salut,
j'ai recuperé un scrip js sur le net qui me permet, à partir d'un input html de faire de l'autocomplétion.
Ce que je voudrais faire c'est récupèrer le résultat d'une requete sql dans le fichier js et de le mettre dans l'Array prevu à cet effet pour utiliser la notion d'autocopletion sur le résultat d'une requete sql mais je n'y connait pas grand chose en js qulq'un pourrait-il m'aider?Je sais qu'il faut implementer du ajax mais alors deja le js je debut alors l'ajax je connaisé même pas son existance
Code:
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 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
| function positionAbsolute(obj, mode)
{
currentValue = 0;
if (obj.offsetParent)
{
if (mode == 'top')
currentValue = obj.offsetTop;
else if (mode == 'left')
currentValue = obj.offsetLeft;
while (obj = obj.offsetParent)
if (mode == 'top')
currentValue += obj.offsetTop;
else if (mode == 'left')
currentValue += obj.offsetLeft;
}
return currentValue;
}
/*
la fonction principale qui remplis le div des differentes suggestions possibles en corélation avec le champ input
*/
function showValue(inside)
{
divDest = document.getElementById('menuRightHidden');
divDest.innerHTML = '';
valueOfElement = '';
exist = 0;
nbOfElement = 0;
divDest.style.top = positionAbsolute(inside, 'top') + inside.offsetHeight;
divDest.style.left = positionAbsolute(inside, 'left');
divDest.style.width = inside.offsetWidth - 3;
for (i = 0; i < suggests.length; i++)
{
if (suggests[i].indexOf(inside.value) == 0 && inside.value != '')
{
nbOfElement++;
exist = 1;
valueOfElement = suggests[i];
currentDiv = document.createElement("div");
currentInner = document.createTextNode(suggests[i]);
currentDiv.indice = suggests[i];
currentDiv.className = 'currentDiv';
currentDiv.onclick = function()
{
inside.value = this.indice;
divDest.style.visibility = 'hidden';
}
currentDiv.appendChild(currentInner);
divDest.appendChild(currentDiv);
}
}
if (exist == 0 || (valueOfElement.length == inside.value.length && nbOfElement == 1))
divDest.style.visibility = 'hidden'
else
divDest.style.visibility = 'visible';
}
/*
intialisation de la div qui contiendra les differentes suggestions
*/
function initMenuRightDiv()
{
menuRightDiv = document.createElement("div");
menuRightDiv.className = 'hiddenDiv';
menuRightDiv.id = 'menuRightHidden';
window.document.body.appendChild(menuRightDiv);
}
window.onload = initMenuRightDiv; |