Ce qui m'amène est le problème suivant... J'utilise la technologie Ajax (enfin, j'essaie
var xhr = null;
function getXhr()
{
if(window.XMLHttpRequest)
{// Firefox et autres
xhr = new XMLHttpRequest();
}
else if(window.ActiveXObject)
{ // Internet Explorer
try
{
xhr = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}
else
{ // XMLHttpRequest non supporté par le navigateur
xhr = false;
}
}
function ListeVille()
{
getXhr();
// On défini ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function()
{
// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
if(xhr.readyState == 4 && xhr.status == 200)
{
// On se sert de innerHTML pour rajouter les options a la liste
document.getElementById('PropositionVille').innerHTML = xhr.responseText;
}
}
// Ici on va voir comment faire du post
xhr.open("POST","ajax/ListeVille.php",true);
// ne pas oublier ça pour le post
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
// ne pas oublier de poster les arguments
sel = document.getElementById('Departement');
Departement = escape(sel.options[sel.selectedIndex].value);
VilleOUCodePostal=escape(document.getElementById('VilleOUCodePostal').value);
xhr.send("Departement="+Departement+"&VilleOUCodePostal="+VilleOUCodePostal);
}
function PseudoValide()
{
Pseudo=document.getElementById('pseudo').value;
getXhr();
// On défini ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function()
{
// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
if(xhr.readyState == 4 && xhr.status == 200)
{
// On se sert de innerHTML pour rajouter les options a la liste
document.getElementById('ImagePseudoValide').innerHTML = xhr.responseText;
}
}
// Ici on va voir comment faire du post
xhr.open("POST","ajax/PseudoValide.php",true);
// ne pas oublier ça pour le post
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
// ne pas oublier de poster les arguments
xhr.send("Pseudo="+escape(Pseudo));
}
function PageJavaScript()
{
PseudoValide();
ListeVille();
}
Plus loin, dans le code en html, on trouve :
<body onLoad='PageJavaScript()'>
Et je m'aperçois que seul ListeVille est bien exécutée... Y aurait-il une astuce pour que cela fonctionne sans devoir réécrire une nouvelle fonction javascript avec une nouvelle page en php?
Par avance, merci!


Haut











