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 de traitement de onclick sur html par javascript


Sujet :

JavaScript

  1. #1
    Membre �prouv� Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par d�faut Changement de traitement de onclick sur html par javascript
    Bonjour,

    J'ai un script qui me permet d'alterner une image

    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
    function changeImage(el_image, id_image)
    {
      	var prefixe = document.getElementById('prefixe').value;
      	var image_avant = 'images/Folder_Close.png';
    	var image_avant = prefixe+image_avant;
    	var image_apres = 'images/Folder_Open.png';
    	var image_apres = prefixe+image_apres;
     
    	if(el_image.src == image_avant)
    	    {
    	    	el_image.src = image_apres;
    	    }
    	else
    	  	{
    	    	el_image.src = image_avant;
    	    }
    	getElementsByTagName("img").setAttribute("src", el_image.src);	
    	getElementById(id_image).setAttribute("onclick", "new Effect.BlindUp('detail_histo0', 1);changeImage(this);");
    }
    Et j'aurai voulu aussi alterner le traitement associ� au onclick

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    <img id="image0" src="{#prefixe_site#}images/Folder_Close.png" 
    				onclick="new Effect.BlindDown('detail_histo0', 1);changeImage(this, 'image0');" />
    Tout va bien pour l'image, mais pour le onclick, il ne se passe rien.

    Merci d'avance

  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 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
    Par d�faut
    alterner le traitement associ� au onclick ...

    on dirait un mode d'emploi traduit du chinois en russe par un esquimaud ...
    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 �prouv� Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par d�faut
    Bon sang, j'�tais l� tranquile, incognito, et j'ai �t� d�couvert.

    Oui je suis russe pas mon p�re, esquimaud par ma m�re et je suis n� en chine.

    Le script permet d'alterner une image lorsque l'on clique dessus, l'objectif est d'ex�cuter un script qui ouvre une fen�tre dans le formulaire. Lorsqu'on clique sur l'image altern�e on ferme le script ouvert.

    J'ai essay� en Breton

  4. #4
    Membre exp�riment�
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    254
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 254
    Par d�faut
    N'arrivant pas � visualiser ce qu' "Ouvrir une fen�tre dans un formulaire" donne, il m'est difficile d'en imaginer une solution.
    Changer la source d'une image en cliquant dessus, c'est par contre plus facile � imaginer.
    Cela donne � peut pr�s ceci (Attention, je n'ai pas test�, c'est le principe que j'�nonce ici)
    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
     
    <SCRIPT language="JavaScript">
    function changerimg()
    {
    //	alert(document.getElementById("img0").src);//AU cas où le contenu n'est pas relatif mais absolu, on peut voir ici le contenu.
    	if(document.getElementById("img0").src == "monImage1.gif")
    	{
    		document.getElementById("img0").src = "monImage2.gif";
    	}
    	else
    	{
    		document.getElementById("img0").src = "monImage1.gif";
    	}
    }
     
    </SCRIPT>
    </HEAD>
     
    <BODY>
    <IMG id="img0" src="monImage1.gif" onClick="changerimg()">
    </BODY>
    </HTML>

  5. #5
    Membre �prouv� Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par d�faut
    Je n'ai aucun probl�me avec mon script de changement d'image tel que je l'ai mis dans mon 1er POST.

    Ce qui pose probl�me c'est le changement de onclick que j'ai voulu associ�.

    En fait il ne change rien.

    Ce qui fonctionne pour l'image, ne fonctionne pas pour le onclick.

  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
    Par d�faut
    pour attribuer dynamiquement un onclick

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    document.getElementById('machinchose').onclick=function(){alert('nouveau comportement du click')};
    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 !

  7. #7
    Membre �prouv� Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par d�faut
    Merci SpaceFrog

    J'avais d�j� assayer cela, mais il ne veut pas

    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
    function changeImage(el_image, numero)
    {
      	var prefixe = document.getElementById('prefixe').value;
      	var id_image = "image"+numero;
      	alert(id_image);
      	var lien_avant = "new Effect.BlindDown('detail_histo"+numero+"', 1);changeImage(this, '"+numero+"');";
      	var lien_apres = "new Effect.BlindUp('detail_histo"+numero+"', 1);changeImage(this, '"+numero+"');";
      	var image_avant = 'images/Folder_Close.png';
    	var image_avant = prefixe+image_avant;
    	var image_apres = 'images/Folder_Open.png';
    	var image_apres = prefixe+image_apres;
     
    	if(el_image.src == image_avant)
    	    {
    	    	el_image.src = image_apres;
    	    	img_onclick = lien_apres;
    	    }
    	else
    	  	{
    	    	el_image.src = image_avant;
    	    	img_onclick = lien_avant;
    	    }
    	document.getElementById(id_image).onclick=function(){img_onclick};
    	getElementsByTagName("img").setAttribute("src", el_image.src);
     
    }
    Code html avant clic sur image :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <img id="image1" src="images/Folder_Close.png" onclick="new Effect.BlindDown('detail_histo1', 1);changeImage(this, '1');">
    Code html apr�s clic sur image

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <img id="image1" src="images/Folder_Open.png" onclick="new Effect.BlindDown('detail_histo1', 1);changeImage(this, '1');">>
    Il y a bien changement de l'image, mais pas changement du onclick

    Dans le alert que j'ai plac� dans mon script j'ai bien :

    Si je fais :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    alert(document.getElementById(id_image.value));
    J'ai "null"

    Bon y a un probl�me quelque part, mais j'avoue que depuis hier j'ai beau tourner dans tous les sens, je ne vois pas.

  8. #8
    Membre �prouv� Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par d�faut
    And the solution is :

    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
    function changeImage(el_image, numero)
    {
      	var prefixe = document.getElementById('prefixe').value;
      	var id_image = "image"+numero;
      	var image_avant = 'images/Folder_Close.png';
    	var image_avant = prefixe+image_avant;
    	var image_apres = 'images/Folder_Open.png';
    	var image_apres = prefixe+image_apres;
     
    	if(el_image.src == image_avant)
    	    {
    	    	el_image.src = image_apres;
    	    	document.getElementById(id_image).onclick=function(){new Effect.BlindUp('detail_histo'+numero, 1); changeImage(this, numero);};
    	    }
    	else
    	  	{
    	    	el_image.src = image_avant;
    	    	document.getElementById(id_image).onclick=function(){new Effect.BlindDown('detail_histo'+numero, 1); changeImage(this, numero);};
    	    }
    	getElementsByTagName("img").setAttribute("src", el_image.src);
    }
    Merci

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

Discussions similaires

  1. traitement des formulaires html par outlook
    Par franzkafka dans le forum Outlook
    R�ponses: 1
    Dernier message: 18/02/2008, 18h07
  2. Changement de couleur d'une cellule html actionn� par radio?
    Par Patatebio dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 30/11/2007, 20h25
  3. un evennement onclick sur combobox par code
    Par Mihalis dans le forum Delphi
    R�ponses: 6
    Dernier message: 10/06/2007, 15h57
  4. Changement d'images avec onclick ou par lien
    Par zubaran dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 25/07/2006, 22h09
  5. [HTML][d�butante] Map ou Onclick sur image ? Diff�rent ?
    Par khany dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 4
    Dernier message: 08/12/2004, 14h05

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