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 :

Changement d'image sur un imageButton HTML avec javascript


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2011
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 453
    Points : 478
    Points
    478
    Par défaut Changement d'image sur un imageButton HTML avec javascript
    Bonjour,

    Je cherche à "ouvrir"/"fermer" des div avec une fonction javascript.

    Appel de la fonction :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="image" id="fleche" name="imgdivCompetences" src="http://icdn.pro/images/fr/f/l/fleche-vers-bas-icone-9481-96.png" onclick="Block(divCompetences)"/>

    La fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function Block(ctrl)
     {
    	var imgName;
    	imgName = 'img' + ctrl;
    	var current;
    	current = (document.getElementById(ctrl).style.display == 'none') ? 'block' : 'none';
    	if (current=='none') {
    		document.getElementById(imgName).src = document.getElementById('flecheHaut').value;
    	} else {
    		document.getElementById(imgName).src = document.getElementById('flecheBas').value;
    	}
     }
    Mes deux éléments 'flecheHaut' et 'flecheBas' sont des HiddenFields dont le value est l'url de l'image qui m'intéresse.

    Da'illeurs à l'instanciation de ma page je voudrais directement les appeler mais je n'y arrive pas :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="image" id="fleche" name="imgdivCompetences" src="document.getelementbyid('flecheBas').value;" onclick="Block(divCompetences)"/>

    Merci de votre aide

  2. #2
    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 638
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 638
    Points : 66 667
    Points
    66 667
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById(imgName).src
    a tout hasard tu passe le name ou l'id en paramètre ?
    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 !

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2011
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 453
    Points : 478
    Points
    478
    Par défaut
    Oui effectivement je viens de me rendre compte que je passais le name

    J'ai donc corrigé ça :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="image" id="fleche" name="imgdivFormation" src="http://icdn.pro/images/fr/f/l/fleche-vers-bas-icone-9481-96.png" onclick="blocking('divFormation')"/>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     function blocking(ctrl)
     {
    	var imgName;
    	imgName='img'+ctrl;
    	var current;
    	current=(document.getElementById(ctrl).style.display=='none')?'block':'none';
    	if (current=='none') {
    		document.getElementById(imgName).src=document.getElementById('flecheBas').value;
    		document.getElementById(ctrl).style.display='none';
    	} else {
    		document.getElementById(imgName).src=document.getElementById('flecheHaut').value;
    		document.getElementById(ctrl).style.display='block';
    	}
     }
    Et ça fonctionne très bien, même le block/none que j'ai rajouté entre temps.

    Par contre je n'arrive toujours pas à afficher l'image comme ça :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="image" id="fleche" name="imgdivCompetences" src="javascript:document.getElementById('flecheHaut').value" onclick="blocking('divCompetences')"/>

  4. #4
    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 638
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 638
    Points : 66 667
    Points
    66 667
    Billets dans le blog
    1
    Par défaut
    src n'accepte pas de js ...

    il faut passer par le onlaod de la page et attribuer ton src à ce moment là
    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 !

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2011
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 453
    Points : 478
    Points
    478
    Par défaut
    Parfait ! Ca fonctionne du tonerre de Dieu !

    Merci SpaceFrog !

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2011
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 453
    Points : 478
    Points
    478
    Par défaut
    J'ai enlevé le résolu parce qu'il s'avère que mon code js ne s'exécute que sur IE et pas sur firefox ni chrome...

    J'en suis là :

    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
     function blocking(ctrl)
     {
    	var imgName;
    	imgName='img'+ctrl;
    	var current;
    	current=(document.getElementById(ctrl).style.display=='none')?'block':'none';
    	if (current=='none') {
    		document.getElementById(imgName).src=document.getElementById('flecheBas').value;
    		document.getElementById(ctrl).style.display='none';
    	} else {
    		document.getElementById(imgName).src=document.getElementById('flecheHaut').value;
    		document.getElementById(ctrl).style.display='block';
    	}
    	return false;
     }
     
     window.onload=function(){
    	blocking('divCompetences');
    	blocking('divFormation');
    	blocking('divExperience');
    	blocking('divLoisirs');
    	return false;
    	};
    et les appels :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="image" id="fleche" name="imgdivCompetences" src="" onclick="blocking('divCompetences')"/>

    Et donc tout fonctionne nickel sur IE et rien ne se passe sur chrome et firefox...

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

Discussions similaires

  1. Partager une image sur les site sociaux avec html
    Par tariq.elgbouri dans le forum Débuter
    Réponses: 5
    Dernier message: 04/09/2012, 11h35
  2. Réponses: 2
    Dernier message: 30/11/2006, 10h22
  3. [Image]charger une image sur une page HTML
    Par Malo dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/07/2006, 18h33
  4. Réponses: 1
    Dernier message: 11/05/2006, 19h06
  5. insérer une image sur une page html sans joindre son fichier
    Par fidji dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 03/02/2006, 10h15

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