Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Activer/Désactiver un bouton Submit avec Ajax [ Framework / Ajax ] (nabmoah)

samedi 19 juillet 2008 à 18:17:07 | Activer/Désactiver un bouton Submit avec Ajax

nabmoah

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 :

PAGE : index.html

<script type="text/javascript" src="code.js"></script>
<form method="post" onsubmit="maFonctionAjax(this.Id.value,this.Nom.value);return false" action="">
<table border="0" cellspacing="0">
<tr>
<td colspan=2>
Formulaire Ajax
</td>
</tr>
<tr>
<td>Id:</td>
<td>
<input name="Id" id="Id" type="text"></td>
</tr>
<tr> 
<td>Nom:</td>
<td><input name="Nom" id="Nom" type="text"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="envoyer" /></td>
</tr>
</table></form>
<div id="msg"></div>


CODE.JS :

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='<font color=GREEN>'+OAjax.responseText+'</font>';
}else{ /* PAS OK */
document.getElementById('msg').innerHTML='<font color=RED>'+OAjax.responseText+'</font>';
}
} 
}
}
OAjax.setRequestHeader('Content-type','application/x-www-form-urlencoded');
OAjax.send('Id='+Id+'&Nom='+Nom);
}


maPageRequPHP.php


<?
session_start();  

$erreurs=array();//tableau qui stocke les erreurs.  

if(!$_POST['Id']){  
$erreurs[]='Id: Veuillez encoder un Id';  
}  

if(!$_POST['Nom']){  
$erreurs[]='Nom: Veuillez encoder un Nom';  
}  

if(count($erreurs)==0)  
{  

//ici tu enregistres les valeurs dans la bdd

echo"true";

//cette valeur sera traité par ajax est vaut dire que tt passe pour le bien
  

// connexion la base de donnée 

   $nom=$_POST["Nom"]; 
   echo$nom; 

$search=mysql_query("SELECT * FROM chansons WHERE artiste LIKE '%$nom%'"); 
$nb=mysql_num_rows($search); 
echo"$nb<br><br>"; 
  
while
($s=mysql_fetch_array($search)){ 
   $titre_song=$s["titre_song"]; 
   echo"$titre_song<br>"; 

   }   
// cette boucle est ajouté pour vérifier le fonctionnement du bouton "Envoyer" du formulaire 

for($i=0;$i<=10000;$i++)  
   {  
     
echo"$i<br>"; 
   }  
}  
else  
{  
echo"<p class='erreur'>";  
for($i=0;$i<count($erreurs);$i++)  
{  
echo"- ".$erreurs[$i].".<br />";  
}  
echo"</p>";  
}  
?>


Merci encore pour votre aide ...

Cordialement ...


samedi 19 juillet 2008 à 18:34:39 | Re : Activer/Désactiver un bouton Submit avec Ajax

banbanfr

Membre Club
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='<font color=GREEN>'+OAjax.responseText+'</font>';
    }else{ /* PAS OK */
    document.getElementById('msg').innerHTML='<font color=RED>'+OAjax.responseText+'</font>';
    }
  }
  document.getElementById('monbouton').value='envoyer';
}



Par contre place un id a ton bouton :
<input type="submit" value="envoyer" />

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

samedi 19 juillet 2008 à 18:35:25 | Re : Activer/Désactiver un bouton Submit avec Ajax

banbanfr

Membre Club
Par contre a quoi te sert :

  if (document.getElementById){}

?

Cordialement Banban



Cette discussion est classé dans : erreurs, ajax, echo, if, oajax


Répondre à ce message

Sujets en rapport avec ce message

Ajouter un bouton et faire un récapitulatif [ par chicochaleur29 ] Bonjour Je suis en train de faire un formulaire d'une commande de matériel Donc en faite, mon formulaire fonctionne, mais on ne peut commander que du Récuperation pour passage AJAX d'une valeur d'un radiobutton [ par whiteange ] Bonjour,J'ai un petit problème avec la récuperation de la valeur d'un radio bouton :J'ai le formulaire suivant :<form method="post" onsubmit="inscript recuper une valeur lors d'un clique [ par twixster ] Bonjour, alors mon probleme est le suivant, j'affiche une arborescence de mes categorys, et quand je clique dessus, la category doit se rajouter dans Ajax - Impossible d'appeler ma page [ par darude94 ] Bonjour,Voici mon soucis, en cliquant sur le lien supprimer je voudrais supprimer l'element sans rafraichir le probleme et que je ne parviens pas jusq Vérifier que des bouton radio soit coché ! [ par hAdEsS ] Bonjour à tous,j'essai de vérifier la validité de mes boutons radios.Mon soucis est que mon formulaire est dynamique et le nom de mes boutons radios p input radio [ par raurau ] BonjourJ'essaie de faire un tableau pour le choix entre deux menus1 ou 2 bouton radio                                        Bouton choix Console d'erreurs : Mal formé [ par Tilix ] Bonjour, J'ai un petit problème. J'execute mes scripts grâce à de l'AJAX et la fonction eval();, mais la console d'erreurs m'affiche des problèmes alo recuperation données AJAX [ par corsamobile ] Bonjour à tous,J'ai créé une liste deroulante liée avec trois listes deroulantes qui vont chercher leurs données dans une BDD.En selectionnant une ref readystate qui reste à 1 [ par jpclutier ] Bonjour à tous,J'ai fait un peu d'ajax qui me permet de récupérer des data dans une BdD. Avec FireFox tout fonctionne correctement mais avec IE7 le re Ajax, loader une page externe [ par Annadrill ] voila je cherche a transformer cette fonction qui fonctionne avec prototype et scriptaculous: function loadIng(divTarget,divUrl){new Effect.Fade(div


Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Appels d'offres

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,499 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.