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();
if(!$_POST['Id']){
$erreurs[]='Id: Veuillez encoder un Id';
}
if(!$_POST['Nom']){
$erreurs[]='Nom: Veuillez encoder un Nom';
}
if(count($erreurs)==0)
{
echo"true";
$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>";
}
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 ...