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

jQuery Discussion :

Récupérer les données hors de onload


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2009
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 171
    Par défaut Récupérer les données hors de onload
    Bonjour,

    Je veux prévisualiser une image avant l'upload, du coup, je veux récupérer quelques informations et les vérifier avant de passer au transfert, parmi ces informations, sont les dimensions, j'ai pris ce code du net, et je veux le développer pour retourner les informations en array:

    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
     
     
    	function imageFileDims(fileID){
     
    	var _URL = window.URL || window.webkitURL;   
      	var file, img, fileWidth, fileHeight, dims=[];
     
        file = $('#'+fileID)[0].files[0];
     
        img = new Image();
     
        img.onload = function(data) {
                     fileWidth   = this.width;
                     fileHeight  = this.height;
     
                    dims.push(fileWidth);
                    dims.push(fileHeight);
     
                    console.log(dims);
     
    // les élément à retourner
     
         return [fileWidth, fileHeight];
     
                };
     
    // le résultat est [] null	
    console.log(dims);
     
                img.src = _URL.createObjectURL(file);
                console.log(img.onload());            
      }
     
    $("#file-input1").change(function(e) {
        imageFileDims("file-input1");
    });
    Merci a vous

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    Bonjour,
    ... je veux le développer pour retourner les informations en array:
    les retourner à qui ?

    Les données n'étant disponibles qu'un fois l'image chargée il te faut les utiliser à ce moment là et pas ailleurs.

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2009
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 171
    Par défaut
    Je veux les récupérer au sein de la fonction imageFileDims(fileID), mais hors de img.onload = function(data) {

    Autrement dit: transmettre les valeur width et height de img.onload = function(data) { vers l'exterieur

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    mais hors de img.onload = function(data) {
    tu es bien obligé de passer par cette étape !

    Tu peux poursuivre de la façon suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    img.onload = function(){
      // tu fais ce que tu veux avec les données
      // ...
      // puis tu appelles une fonction de traitement
      fct_transfert( data);  // par exemple
    }

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2009
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 171
    Par défaut
    Si j'ai bien compris:

    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
     
    img.onload = function(){
     
     
    function getData(){
                    var dW	= fileWidth;
                    var dH	= fileHeight;
     
                    return [dW, dH];
                    }
     
     
    } // end onload
     
    console.log(getData);
    Celle la retourne undefined function getData

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    Celle la retourne undefined function getData
    normal, ta fonction n'est pas connu en dehors du scope de la fonction anonyme affectée au onload de ton image.

    Indente correctement tes codes pour une meilleur visibilté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    img.onload = function () {
        function getData() {
            var dW = fileWidth;
            var dH = fileHeight;
            return [dW,
            dH];
        }
    } // end onload
     
    console.log(getData);
    mais à quoi peut bien te servir cette fonction incluse, es tu sûr d'en avoir besoin ?

Discussions similaires

  1. Réponses: 3
    Dernier message: 13/01/2006, 12h33
  2. XMLHttpRequest : Impossible de récupérer les données
    Par laurent_ifips dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 22/11/2005, 13h28
  3. [](VB) Récupérer les données dans un fichier .xml
    Par Furius dans le forum VBScript
    Réponses: 4
    Dernier message: 02/10/2005, 20h39
  4. Récupérer les données interbase dans une TStringGrid
    Par Ousse dans le forum Bases de données
    Réponses: 1
    Dernier message: 24/03/2005, 12h51
  5. Récupérer les données d'une iframe
    Par juli1 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 09/02/2005, 22h53

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