Bonjour,
J'ai réalisé un formulaire d'édition.
dans ce formulaire j'ai un nom de fichier et un statut.
je ne peux pas changer le nom du fichier mais je peux changer le statut.
en effet, si le statut varie alors dans mon formulaire l'upload sera obligatoire
(donc je devrais vérifier si l'upload a été faite avant l'envoi des données grâce a un code javascript existant)
dans le cas contraire l'upload est facultative et il n'y aura donc pas de vérification préalable a l'envoi.
mon soucis est de savoir si je peux configurer ma requete existante pour renvoyer vers un js qui pourra vérifier tout cela.
voila le bout du formulaire concerné par la requete ajax:
form_base.php
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
50
51
52
53
54
55
56
57
58
59
60 <form name="insertion" action="modification3.php" method="post" onsubmit="if (check()); else return false;" enctype="multipart/form-data" accept-charset="UTF-8"><input type="hidden" name="id_fiche" value="<?php echo($id) ;?>" class="niceform"> <fieldset><legend>Informations générales sur le corpus</legend> <table> <tr> <td><label>Statut du corpus:</label></td> <td><? $Statut_corpus = isset($result->Statut_corpus) ? $result->Statut_corpus : ''; ?> <select name="Statut_corpus" id="StatutCorpus"> <option value="" <?php if($Statut_corpus == "") { echo ' selected'; } ?>>---Modifier---</option> <option value="Transcrit" <?php if($Statut_corpus == "Transcrit") { echo ' selected'; } ?>>Transcrit</option> <option value="Verifie_Non_Anonymise" <?php if($Statut_corpus == "Verifie_Non_Anonymise") { echo ' selected'; } ?>>Verifié - Non Anonymisé</option> <option value="Verifie_Anonymise" <?php if($Statut_corpus == "Verifie_Anonymise") { echo ' selected'; } ?>>Vérifié - Anonymisé</option> </select></td> </tr> <tr> <td><label>Nom du dossier contenant le corpus informatisé (identifiant):</label></td> <td><b><?php //echo($result->NomFichierSource) ;?></b><input type="text" name="NomFichierSource" id="NomFichierSource" value="<?php echo($result->NomFichierSource) ;?>" onblur="req_NomFichierSource();"> <span id="NomFichierSource_check"></span></td> </tr> </table> </fieldset> <fieldset><legend>Upload</legend> <!-- UPLOAD simple --> <table> <tr> <td><label for="fichierSON">Joindre Fichier Son</label></td> <td><input name="fichierSON" type="file" onChange="verif_extensionSON(this.value);"></td> </tr> <tr> <td><label for="fichierTRS">Joindre Fichier Transcription</label></td> <td><input name="fichierTRS" type="file" onChange="verif_extensionTRS(this.value);"></td> </tr> </table> </fieldset> </form>
voila mon code ajax :
verif_Dispo.js:
voici le code que je voudrai associer a ma requete ajax qui va vérifier l'extension et l'existence des chemin dans l'upload.
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 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 var content = document.getElementById("NomFichierSource_check"); //zone d'affichage var srcFile = document.getElementById("NomFichierSource"); var statut = document.getElementById("StatutCorpus"); XhrObj.open("POST", "../verif_modif_js/verif_StatutCorpus.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=""/>Upload obligatoire'; bNomFichierSource = true; // ok nouveau pseudo } else { content.innerHTML='<img src="../images/refuser.png" alt=""/>Upload facultatif'; bNomFichierSource = false; // erreur pseudo déjà existant } } } XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); //XhrObj.send('p='+encodeURIComponent(NomFichierSource)); XhrObj.send('p='+encodeURIComponent(srcFile.value)+'&s='+encodeURIComponent(statut.value)); }
verif_extension.js
comme vous le voyez ma requete me renvoi un message et affiche une image pour le moment.
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121 function recup_extension(fichier) // fonction de récupération extension fichier { if (fichier!="")// si le champ fihier n'est pas vide { nom_fichier=fichier;// on récupere le chemin complet du fichier nbchar = nom_fichier.length;// on compte le nombre de caractere que compose ce chemin extension = nom_fichier.substring(nbchar-4,nbchar); // on récupere les 4 derniers caracteres extension=extension.toLowerCase(); //on uniforme les caracteres en minuscules au cas ou cela aurait été écris en majuscule... return extension; // on renvoi l'extension vers la fonction appelante } } //verification extension du fichier SON avant upload function verif_extensionSON(fichier)// fonction vérification de l'extension aprés avoir choisi le fichier { ext = recup_extension(fichier);// on appelle la fonction de récupération de l'extension et on récupere l'extension if(ext==".wav"||ext==".mp3"||ext==".wma"){}// si extension = a une des extension suivante alors tout est ok donc ... pas d'erreur else // sinon on alert l'user de la mauvaise extension { alert("L'extension du fichier son que vous voulez uploader est :'"+extension+"'\n cette extension n'est pas autorisée !\n Seules les extesnions suivantes sont autorisées :\n'MP3;WAV;WMA' !"); } } //verification extension du fichier TRS avant upload function verif_extensionTRS(fichier)// fonction vérification de l'extension aprés avoir choisi le fichier { ext = recup_extension(fichier);// on appelle la fonction de récupération de l'extension et on récupere l'extension if(ext==".trs"||ext==".doc"||ext==".txt"){}// si extension = a une des extension suivante alors tout est ok donc ... pas d'erreur else // sinon on alert l'user de la mauvaise extension { alert("L'extension du fichier transcription que vous voulez uploader est :'"+extension+"'\n cette extension n'est pas autorisée !\n Seules les extesnions suivantes sont autorisées :\n'TRS;DOC;TXT' !"); } } function verif_extensionCONV(fichier)// fonction vérification de l'extension aprés avoir choisi le fichier { ext = recup_extension(fichier);// on appelle la fonction de récupération de l'extension et on récupere l'extension if(ext==".doc"||ext==".txt"||ext==".pdf"){}// si extension = a une des extension suivante alors tout est ok donc ... pas d'erreur else // sinon on alert l'user de la mauvaise extension { alert("L'extension du fichier convention que vous voulez uploader est :'"+extension+"'\n cette extension n'est pas autorisée !\n Seules les extesnions suivantes sont autorisées :\n'PDF;DOC;TXT' !"); } } function verif_extensionANNEXE(fichier)// fonction vérification de l'extension aprés avoir choisi le fichier { ext = recup_extension(fichier);// on appelle la fonction de récupération de l'extension et on récupere l'extension if(ext==".doc"||ext==".txt"||ext==".pdf"||ext==".jpg"||ext==".jpeg"||ext==".gif"||ext==".png"){}// si extension = a une des extension suivante alors tout est ok donc ... pas d'erreur else // sinon on alert l'user de la mauvaise extension { alert("L'extension du fichier annexe que vous voulez uploader est :'"+extension+"'\n cette extension n'est pas autorisée !\n Seules les extesnions suivantes sont autorisées :\n'PDF;DOC;TXT;JPG;JPEG;GIF;PNG' !"); } } function verif_before_valid_form()// fonction de validation de formulaire { var msgerr="Veuillez vérifier les erreurs suivantes :\n";// préparation message d'erreur var erreur = 0;// par defaut tout est ok if(document.formulaire.fichierSON.value!="")// si le champ fihier n'est pas vide { ext = recup_extension(document.formulaire.fichierSON.value);// on appelle la fonction de récupération de l'extension et on récupere l'extension if(ext==".wav"||ext==".mp3"||ext==".wma"){} // si extension = a une des extension suivante alors tout est ok donc ... pas d'erreur else // sinon message d'erreur { msgerr=msgerr+"- L'extension du fichier son n'est pas valide, les extensions acceptées sont 'wav;mp3;wma' ! \n";// prépare message d'erreur erreur = 1;// il y a une erreur donc on l'informe } } else{ msgerr=msgerr+"- Vous n'avez pas indiqué de fichier son à uploader ! \n";// prépare message d'erreur erreur = 1;// il y a une erreur donc on l'informe } if(document.formulaire.fichierTRS.value!="")// si le champ fihier n'est pas vide { ext = recup_extension(document.formulaire.fichierTRS.value);// on appelle la fonction de récupération de l'extension et on récupere l'extension if(ext==".trs"||ext==".doc"||ext==".txt"){} // si extension = a une des extension suivante alors tout est ok donc ... pas d'erreur else // sinon message d'erreur { msgerr=msgerr+"- L'extension du fichier transcription n'est pas valide, les extensions acceptées sont 'trs;doc;txt' ! \n";// prépare message d'erreur erreur = 1;// il y a une erreur donc on l'informe } } else{ msgerr=msgerr+"- Vous n'avez pas indiqué de fichier transcription à uploader ! \n";// prépare message d'erreur erreur = 1;// il y a une erreur donc on l'informe } if(erreur==1) { alert(msgerr); return (false); } else { return (true); transfert_file.submit(); } }
merci de m'indiquer la marche à suivre pour obtenir ce que je souhaite.
Partager