[AJAX] tester la présence d'un fichier distant

CW76
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 13
Inscription: 16 Jan 2011

[AJAX] tester la présence d'un fichier distant

Message le Mer Aoû 17, 2011 9:36

Bonjour, voilà je vous explique ma problématique :

Dans ma page test.php j'ai un form qui contient un bouton submit avec pour id "soumission" + 1 champ hidden avec pour id "nom_fichier"

J'aimerais écrire une fonction qui, sur l'évènement onclick du bouton submit, teste l'existence du nom de fichier (= la valeur de mon champ "nom_fichier") : si le fichier existe, j'ouvre une fenêtre pop up "traitement.php" pour la suite du traitement. Et si le fichier n'existe pas, je redirige ma page test.php vers erreur.php, et bien sûr, pas d'ouverture de ma fenêtre pop up "traitement.php".

Voilà l'ébauche de ma fonction :
Code: Tout sélectionner
$(document).ready(function () {
    $("#soumission").click(function() {
        var nom_du_fichier= $('#nom_fichier').attr('value');
        if ((nom_du_fichier== "") || ) {
         ...traitement redirect vers erreur.php blablabla;
   }
   else if (!verifExistence(nom_du_fichier)) {
         ...traitement redirect vers erreur.php blablabla;
   }
   else {
         ...traitement ouverture de traitement.php dans une fenêtre pop up;
   }      
        return false;
    });
});


Là où je bloque essentiellement, c'est sur la façon de tester à la volée l'existence de mon fichier, donc la création de ma fonction "verifExistence()". Ca fait appel à de l'AJAX mais là, je sèche.

merci beaucoup pour votre aide
@+

CW76
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 13
Inscription: 16 Jan 2011

RESOLU [AJAX] tester la présence d'un fichier distant

Message le Mer Aoû 17, 2011 14:01

Bon voilà c'est résolu, pour ceux que ça intéresse...
Code: Tout sélectionner
$(document).ready(function () {
    $("#soumission").click(function() {
        var nom_du_fichier= $('#nom_fichier').attr('value');
        var url_du_fichier = 'mon_repertoire/'+nom_du_fichier;
        if ((nom_du_fichier== "")) {
       document.location.href="erreur.php";
   }
   else {
       xhr=getXhr();
       xhr.open("HEAD", url_du_fichier, true);
       xhr.onreadystatechange=function()
                {
          if(xhr.readyState == 4) {
         if((xhr.status == 200)||(xhr.status == 0)) {
             window.open(nom_du_fichier,'Mon titre','Mes options');
         }
         else {
             document.location.href="erreur.php";
         }
           }
       }
       xhr.send(null);
        }      
        return false;
    });
});


spout
WRInaute accro
WRInaute accro
 
Messages: 4382
Inscription: 14 Mai 2003

Re: [AJAX] tester la présence d'un fichier distant

Message le Mer Aoû 17, 2011 14:20

getXhr() c'est une autre librairie AJAX venant d'ici: http://siddh.developpez.com/articles/ajax/ ?
Si oui, tu utilises déjà jQuery qui contient déjà tout pour faire de l'AJAX: http://api.jquery.com/jQuery.ajax/


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités