[AJAX] J'aimerais faire plus d'une action avec ajax (afin d'éviter de réécrire du code)
Salut tout le monde,
J'ai un formulaire qui contient deux zones de textes.
La première pour le matricule
La seconde pour le login.
J'ai un bouton qui vérifie la concordance entre ces deux informations.
Si OK, j'ajoute une image (V Vert) dans une cellule de mon tableau
Si pas OK. j'ajoute une image (croix rouge) dans la cellule (qui contient une div).
Jusque là, je maîtrise, tout fonctionne parfaitement.
Je devrais en plus de cela mettre dans les div de deux zones de textes du code pour activer le bouton.
Je me demandais si il était possible d'activer mes deux zones de textes en même temps (c'est à dire retirer enable = enabled).
Voici mon code :
Clic sur le bouton :
Code:
<td><input name="button" type="button" value="(1) Vérifier la concordance entre le matricule et le login" onclick="check_Mat_Log(document.getElementById('txtmatricule').value,document.getElementById('txtlogin').value)" /></td>
appelle cette fonction :
Code:
function check_Mat_Log(Matricule,Login)
dont voici le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| function getXhr()
{
var xhr = null;
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
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
xhr = false;
}
return xhr;
}
function check_Mat_Log(Matricule,Login)
{
alert(Matricule);
alert(Login);
//ici, on utlise de l'ajax sans écrire quoi que ce soit dans la page, on ne fait qu'appeler du php sans faire de refresh
var xhr = getXhr();
xhr.onreadystatechange = function()
{
if(xhr.readyState == 4 && xhr.status == 200)
{
leretour = xhr.responseText;
//var textExcel = "<td width=\"165\"><div id=\"div_excel_export\"><a href=\"\" class=\"navText\"> Excel : Exporter (cours clôturé !)</a></div></td>";
//alert(leretour);
//dans la cellule du tableau (td) je mets soit la flèche verte pour dire que le matricule et le login correspondent, soit al croix rouge pour dire que ça ne correspond pas.
document.getElementById('resultat_mat_login').innerHTML=leretour;
//Je mets en enable les deux zones de texte pour le mot de passe
document.getElementById('').innerHTML = ;
//peut-on renvoyer deux textes en AJAX ?
//document.getElementById('div_excel_export').innerHTML=textExcel;
}
}
//alert(categorie);
//j'appelle la page Update_Cloture.php pour mettre a jour la table cours (cloture)
xhr.open("POST","../Scripts/Utilisateur/login/Check_matricule_login.php",true);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xhr.send("matricule="+Matricule+"&login="+Login);
} |
et voici le code PHP :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| <?php
include('../../connexion.php');
$req = "SELECT professeurs.MATRICULE_PROF, professeurs.LOGIN2 FROM professeurs WHERE MATRICULE_PROF = '".$_POST['matricule']."' AND LOGIN2 = '".$_POST['login']."' ";
$query = mysql_query($req);
$nombre = mysql_num_rows($query);
//si il y a au moins un résultat, j'affiche la flèche verte
if ($nombre > 0)
{
echo '<img src="../Images/v_vert.JPG" alt="Le matricule et le login correspondent" />';
}
else
{
echo '<img src="../Images/croix_rouge.jpg" alt="Le matricule et le login ne correspondent pas !" />';
}
?> |
Le nom des ID de mes zones de textes sont :
txtmdp et txtmdp2
Merci d'avance pour l'aide.
beegees