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 :

Image preview javascript


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre tr�s actif Avatar de keitaro_bzh
    Homme Profil pro
    Est-ce int�ressant?
    Inscrit en
    Juin 2009
    Messages
    320
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : Est-ce int�ressant?

    Informations forums :
    Inscription : Juin 2009
    Messages : 320
    Par d�faut Image preview javascript
    Bonjour � tous,

    Je viens de cr�er un formulaire de saisie simple en php/html qui permet de saisir les coordonn�es d'une personne.
    Pour se faire, j'utilise une classe PHP qui est g�n�r� avec la g�n�ration du formulaire et qui compl�te les valeurs des inputs si j'ai un id et des infos correspondantes, sinon, c'est un blanc.

    Jusque la, tout va bien. J'ai voulu rajouter un moyen de transf�rer un avatar. Cela fonctionne �galement si je passe par un champ <input type=file>

    Une fois le formulaire OK, je passe � la partie plus compliqu�e pour moi, rendre la page sexy. Et la, besoin du JS. En effet, pour la partie avatar, je veux cacher le champ input moche et avoir un cadre avec une img qui se changera en fonction de l'image s�lectionn�e dans mon input.
    J'ai donc trouv� sur le net le moyen de le faire.

    Voici le
    Code HTML : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <div class="col-md-12 col-sm-12 col-xs-12 form-group has-feedback text-center">
       <img src="<?php echo $monObjet->getValeur('avatar'); ?>" id='output' alt="Avatar" height="120" width="120">
       <input type=hidden name=avatar value='<?php echo $monObjet->getValeur('avatar'); ?>'>
    </div>
    <div id=image></div>
    <div class="col-md-12 col-sm-12 col-xs-12 form-group has-feedback text-center">
       <p><input type=file name="file_avatar" id="file_avatar" class="form-control" accept="image/png, image/jpeg" onchange="previewImage(event);">
       <button type=submit class="btn" onclick="document.getElementById('file_avatar').click();" >Modifier</button></p>
    </div>

    Voici le code JS
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function previewImage(file) {
        var input = file.target;	
        var reader = new FileReader();
        reader.readAsDataURL(input.files[0]);
        reader.onload = function(){
          var dataURL = reader.result;
          var output = document.getElementById('output');
          output.src = dataURL;
       };
       reader.readAsDataURL(input.files[0]);
    }
    Lorsque je cr�e un nouveau formulaire, cela fonctionne � merveille. J'�tais m�me fier de moi!!
    Par contre, quand je prends un fiche d�j� enregistr�, si je clique sur le bouton JS, j'ai bien l'explorateur qui s'ouvre, mais quand je s�lectionne le fichier, rien ne se passe.

    J'ai affich� le input file pour voir le comportement, et dans le second cas, m�me apr�s s�lection du fichier, le chemin ne s'affiche pas, alors que oui lors de la cr�ation. Je ne comprends pas la diff�rence entre le deux et je reste bloqu� dessus car �a m'agace.

    Est-ce que quelqu'un aurait une id�e?

    En vous remerciant.

  2. #2
    Mod�rateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    Bonjour,
    pourquoi as tu deux fois reader.readAsDataURL(input.files[0]); ?

    Supprime au moins le premier;
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function previewImage(file) {
        var input = file.target;	
        var reader = new FileReader();
    //    reader.readAsDataURL(input.files[0]);  /* A SUPPRIMER */
        reader.onload = function(){
          var dataURL = reader.result;
          var output = document.getElementById('output');
          output.src = dataURL;
       };
       reader.readAsDataURL(input.files[0]);
    }

  3. #3
    Membre tr�s actif Avatar de keitaro_bzh
    Homme Profil pro
    Est-ce int�ressant?
    Inscrit en
    Juin 2009
    Messages
    320
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : Est-ce int�ressant?

    Informations forums :
    Inscription : Juin 2009
    Messages : 320
    Par d�faut
    Merci pour ta r�ponse. Le doublon surement sur � ma b�tise!

    Plus s�rieusement, je viens de le supprimer mais cela ne change rien. Par contre, le fait de bosser sur mon raspberry change le sympt�me. En effet, sur ma VM au bureau, vu la puissance, je ne vois rien, mais avec mon raspberry, beaucoup plus lent, je vois d�sormais l'image s'afficher, mais au bout de quelques secondes, l'affichage se rafra�chit et l'image dispara�t.

    J'ai donc regard� pour les autres champs et en effet, quand je modifie un input text standard, quand je charge mon image, ce champ se r�initialise aussi...

  4. #4
    Mod�rateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    Si ton �l�ment
    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    <button type=submit class="btn" onclick="document.getElementById('file_avatar').click();" >Modifier</button></p>
    est contenu dans un �l�ment <form> alors ta page est soumise donc recharg�e.

  5. #5
    Membre tr�s actif Avatar de keitaro_bzh
    Homme Profil pro
    Est-ce int�ressant?
    Inscrit en
    Juin 2009
    Messages
    320
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : Est-ce int�ressant?

    Informations forums :
    Inscription : Juin 2009
    Messages : 320
    Par d�faut
    Exact, mon bouton fait parti de mon <form>.
    Je viens de tester et t'es trop fort!! Merci

    Du coup, comment je fais pour mettre mon bouton dans mon formulaire? Je suppose que je ne peux fermer mon </form> et le rouvrir apr�s mon bouton. Existe-t-il une solution?

    Sinon, il faut que je r�organise tout mon formulaire..

  6. #6
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Agrandissement d'image en javascript
    Par bellzigor dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 12/01/2007, 14h50
  2. [images src javascript]
    Par lucimast dans le forum G�n�ral JavaScript
    R�ponses: 7
    Dernier message: 16/08/2006, 16h19
  3. generation de fenetre&image par javascript
    Par cortex007 dans le forum G�n�ral JavaScript
    R�ponses: 3
    Dernier message: 29/04/2006, 08h51
  4. images avec javascript
    Par URVOY dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 17/01/2006, 10h12
  5. Pb acces a une image en JavaScript
    Par NitroBear dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 19/08/2005, 08h08

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