IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[AJAX] Uploader sans recharger la page


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut [AJAX] Uploader sans recharger la page
    Bonjour je voudrai proposer une téléchargement pour mes visiteurs mais sans que ca recharge la page, juste afficher une image gif durant le chargement.

    donc j'ai tester comme ceci

    le formulaire (upload.html)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <html>
    <head><script src='ajax.js'></script></head>
    <body>
    <form method="POST" name="form1" action="upload.php" enctype="multipart/form-data">
         <input type="hidden" name="MAX_FILE_SIZE" value="100000">
         Fichier : <input type="file" name="avatar">
         <input type="submit" name="envoyer" value="Envoyer le fichier">
    </form>
    <div id="content"></div>
    </body>
    </html>
    l'ajax (ajax.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
        function makeObject(){
           var x;
           if (window.ActiveXObject) {
              x = new ActiveXObject("Microsoft.XMLHTTP");
           }else if (window.XMLHttpRequest) {
              x = new XMLHttpRequest();
           }
           return x;
        }
        var request = makeObject();
     
    var the_content;
        function check_content(the_content){
           request.open('get', the_content);
           request.onreadystatechange = parseCheck_content;
           request.send('');
        }
        function parseCheck_content(){
           if(request.readyState == 1){
              document.getElementById('content').innerHTML = '<img src=loading.gif>';
           }
           if(request.readyState == 4){
              var answer = request.responseText;
              document.getElementById('content').innerHTML = answer;
           }
        }
     
        function check_content(the_content){
           request.open('get', the_content);
           request.onreadystatechange = parseCheck_content;
           request.send('');
        }
    et une page upload.php sans importance pour mon probleme


    J'utilise ses fonctions pour charger mes pages avec une barre de chargement via un lien du style : onClick='check_content("upload.php")'
    dans un href ca passe, par contre si je veut l'appeler via le formulaire ca ne fonctionne pas.
    j'ai testé dans un onsubmit ca charge bien la page mais ca ne soumet pas le formulaire...

    Dans l'obscurité, recherche de la lumière

  2. #2
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2007
    Messages : 340
    Points : 350
    Points
    350
    Par défaut
    Tu veux dire que lorsque tu submit le formulaire, l'image n'apparait pas ?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    en fait c'est les variables qui ne passent pas !
    ca fait un simple appel de la page upload.php et pas un submit des données du formalaire

  4. #4
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2007
    Messages : 340
    Points : 350
    Points
    350
    Par défaut
    Citation Envoyé par jeazy Voir le message
    en fait c'est les variables qui ne passent pas !
    ca fait un simple appel de la page upload.php et pas un submit des données du formalaire
    Lorsque tu cliques sur le input submit ?

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Oui quand je clique sur mon boutton valider
    En fait mon script d'upload marche de base:
    j'ai un upload.html et un upload.php
    dans le upload.html dans le form je fait un action="upload.php" et je clic sur submit et ca marche.

    donc la j'essaye d'implémenter l'upload sans recharger la page ( avec un gif animé pour l'attente)
    donc
    dans mon form je voudrai faire une action du genre action='check_content("upload.php")'
    mais une action ne peut prendre qu'une url et pas des fonctions.
    donc j'ai testé dans un onsubmit='check_content("upload.php")'
    ca m'envoie sur ma page upload.php sans recharger la page (avec le gif animé pour patienter durant le chargement) mais sans faire l'action submit qui me permet de récupérer mes variables ...

    dsl si j'ai du mal a me faire comprendre


    j'ai aussi tenter un de mettre ma fonction dans mon submit = idem ...


    voila un petit lien pour mieux comprendre peut etre :p
    http://jerom3.no-ip.org/test/

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Personne n'a d'idée, ou un tutoriel simple pour arrive a mes fins ???
    merci

  7. #7
    Membre expérimenté Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Points : 1 388
    Points
    1 388
    Par défaut
    Je suis pas sur que ca soit possible de faire un upload en ajax aussi simplement que ca (à confirmer).

    La technique classique pour y arriver, c'est d'utiliser une iframe invisible, donc un peu plus complexe mais il y a plein d'exemples sur le net

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] Transmettre un formulaire sans rechargement de page
    Par micka39 dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 21/11/2007, 12h20
  2. [AJAX] Comment envoyer au serveur une seul info sans recharger la page
    Par Ekimasu dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 15/11/2007, 12h10
  3. [AJAX] Remplir un formulaire sans recharger la page
    Par houdazcom dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 06/11/2007, 12h37
  4. Réponses: 4
    Dernier message: 06/11/2007, 11h44
  5. [AJAX] Recharger un menu deroulant php sans recharger la page
    Par ns_deux dans le forum Général JavaScript
    Réponses: 25
    Dernier message: 22/07/2006, 15h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo