nabmoah
Messages postés17Date d'inscriptiondimanche 12 juin 2005StatutMembreDernière intervention 1 mai 2011
-
19 juil. 2008 à 18:17
banbanfr
Messages postés132Date d'inscriptiondimanche 8 janvier 2006StatutMembreDernière intervention15 février 2011
-
19 juil. 2008 à 18:35
Bonjour ...
j'ai récupéré un code AJAX pour l'installer dans l'une de mes pages Web pour un éventuel moteur de recherche.
Bien sure, comme c'est de l'ajax le formulaire est validé sans chargement de page de résultat , hors le bouton "Valider" pour lancer la recherche reste toujours actif pendant la phase de recherche et donc pour éviter k'il soit recliké et pour avertir le visiteur ke la phase recherche est en cours je souhaiterai le désactiver mais voilà , comme c'est de l'ajax j'ai pas réussis ...
Merci de m'indiker comment et où ajouter du code JS pour permettre a remplacer le texte du bouton "Envoyer" par "Recherche en cours ..." après avoir cliké dessus.
Voici le code au complet ( simple ) des deux pages :
function maFonctionAjax(Id, Nom)
{
var OAjax;
if (window.XMLHttpRequest) OAjax = new XMLHttpRequest();
else if (window.ActiveXObject) OAjax = new ActiveXObject('Microsoft.XMLHTTP');
OAjax.open('POST',"maPageDeRequPHP.php",true);
OAjax.onreadystatechange = function()
{
if (OAjax.readyState == 4 && OAjax.status==200)
{
if (document.getElementById)
{
if (OAjax.responseText =='true') { /* OK */
document.getElementById('msg').innerHTML=''+OAjax.responseText+'';
}else{ /* PAS OK */
document.getElementById('msg').innerHTML=''+OAjax.responseText+'';
}
}
}
}
OAjax.setRequestHeader('Content-type','application/x-www-form-urlencoded');
OAjax.send('Id='+Id+'&Nom='+Nom);
}
banbanfr
Messages postés132Date d'inscriptiondimanche 8 janvier 2006StatutMembreDernière intervention15 février 2011 19 juil. 2008 à 18:34
Peut etre
if (OAjax.readyState == 1)
{
document.getElementById('monbouton').value='Envois';
}
if (OAjax.readyState == 3)
{
document.getElementById('monbouton').value='En cours';
}
if (OAjax.readyState == 4 && OAjax.status==200)
{
if (document.getElementById)
{
if (OAjax.responseText =='true') { /* OK */
document.getElementById('msg').innerHTML=''+OAjax.responseText+'';
}else{ /* PAS OK */
document.getElementById('msg').innerHTML=''+OAjax.responseText+'';
}
}
document.getElementById('monbouton').value='envoyer';
}
Par contre place un id a ton bouton :
les différents state :
0: non initialisé.
1: connexion établie.
2: requête reçue.
3: réponse en cours.
4: terminé.
Cordialement Banban
-------------------------------------------------------------------------->
Developpement sous MAC
Firefox - Safarie - Internet Explorer - Opéra
Mon site pro : www.wubart.net
Mon site perso : www.mafiacity.fr