Bonjour,
J'ai créé un formulaire avec un champ que je vérifie en Ajax (connexion a la bdd et vérification de la disponibilité du champ).
Au départ ma requete etait simple mais au vue des rectifications apportées au formulaire elle devient plus compliquée j'ai tenté de modifier ma requete mais apparament sa ne marche pas.
voici une partie du formulaire :
form.php
mon champs NomFichierSource est vérifié et cela fonctionne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 <tr> <td><b>- Statut du corpus </b></td> <td><select name="Statut_corpus"> <option value="">---Sélectionnez---</option> <option value="Transcrit">Transcrit</option> <option value="Verifie_Non Anonymise">Verifié - Non Anonymisé</option> <option value="Verifie_Anonymise">Vérifié - Anonymisé</option> </select></td> </tr> <tr> <td>Nom du dossier contenant le corpus informatisé (identifiant) :</td> <td><input type="text" size="50" name="NomFichierSource" onblur="req_NomFichierSource(this.value);"> <span id="NomFichierSource_check"></span></td> </tr>
cependant je voudrai prendre en compte le premier champs Statut_corpus.
en sql cela se traduirai de cette facon :
mysql_query("select * from header_tei where NomFichierSource='".$NomFichierSource."' and Statut_corpus='".$Statut_corpus."'");
mon code ajax est :
verifDispo.js
verif_NomFichierSource.js
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 // ce code va vérifier la disponibilité du Nom de fichier SOURCE var bNomFichierSource = false; function req_NomFichierSource(NomFichierSource) { //XMLHttpRequest est supporté par Internet Explorer 5.0+, Safari 1.2, Mozilla 1.0 / Firefox, Netscape 7 if(document.all) var XhrObj = new ActiveXObject("Microsoft.XMLHTTP"); //Internet Explorer else var XhrObj = new XMLHttpRequest(); //Mozilla content = document.getElementById("NomFichierSource_check"); //zone d'affichage XhrObj.open("POST", "../verification/verif_NomFichierSource.php"); //XhrObj.open("POST", "verif_NomFichierSource.php", false); //Ok pour la page cible XhrObj.onreadystatechange = function() { if (XhrObj.readyState == 4 && XhrObj.status == 200) { if (XhrObj.responseText == 'OK') { content.innerHTML='<img src="../images/accepter.png" alt=""/>OK'; bNomFichierSource = true; // ok nouveau pseudo } else { content.innerHTML='<img src="../images/refuser.png" alt=""/>Existe'; bNomFichierSource = false; // erreur pseudo déjà existant } } } XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); XhrObj.send('p='+NomFichierSource); } function testChamps(f) { // bNomFichierSource = false; on va revalider le champ // req_NomFichierSource(f.NomFichierSource.value); if (!bNomFichierSource) { alert('Erreur Nom Fichier Source'); return false; } return true; }
ce que j'ai actuellement : si NomFichierSource existe dans la bdd il me le signale
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <?php include("../bdd/connection.php"); $NomFichierSource = htmlentities(addslashes($_POST['p'])); if (!empty($NomFichierSource)) { $res = mysql_query("select * from header_tei where NomFichierSource='".$NomFichierSource."'"); echo (($row = mysql_fetch_array($res)) ? 'FAIL' : 'OK'); } ?>
ce que je voudrai : si NomFichierSource existe avec le même statutCorpus alors je veux une alerte ajax; par conséquent il peut y avoir deux fichiers avec le meme nom mais le statut sera différent.
comme je disai jai tenté de modifier la requete dans le fichier verif_NomFichierSource.js mais je pense qu'il faut apporter d'autre modif au code.
merci pour votre aide
Partager