Ok, je vois où t'n veux revenir,
En faite il faut que tout soit enchainé, je me suis battu avec le temps puisque j'ai bcp de travail afin de te créer un exemple complet de fonction js qui manipule un champs de texte dont l'id est "texte1" de façon asynchrone.
Le données sont recueillis depuis un fichier php "traitement.php" qui pourra contenir le script suivant:
<? print "ceci est un test"?>
La fonction js manipulant l'ajax est la suivante: (préviens moi si t'as besoin de comprendre un truc dedans)
function requete_ajax()
{
var dataRequest = null;
document.getElementById('texte1').value = 'patientez';
// Définition du connecteur en fonction du navigateur :
if (window.XMLHttpRequest)
{
dataRequest = new XMLHttpRequest();
if (dataRequest.overrideMimeType)
{
dataRequest.overrideMimeType('text/xml');
}
}
else if (window.ActiveXObject)
{
try {
dataRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
dataRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
document.getElementById('texte1').value = 'Impossible de communiquer avec le serveur';
}
}
}
// le secret d'AJAX réside en partie dans la réception et le traitement des résultats en background :
dataRequest.onreadystatechange = function()
{
document.getElementById('texte1').value = 'veuiller patienter';
if( dataRequest.readyState == 4 )
{
// Ici le code 200 signifie que la requête a renvoyé une valeur valide. On pourrait aussi gérer les erreurs 500, 404 ...
if( dataRequest.status == 200 )
{
if ( dataRequest.responseText != "" )
{
document.getElementById('texte1').value = dataRequest.responseText ;
} else {
document.getElementById('texte1').value = dataRequest.responseText ;
}
}
else
{
document.getElementById('texte1').value = 'Une erreur est survenue : ';
}
}
};
// le secret d'AJAX réside également dans l'envoi de la requête en background ( sans recharger la page ) :
dataRequest.open("GET", "traitement.php?parametre=" + 1 , true);
dataRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
dataRequest.send(null);
}