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 :

Personnaliser une checkbox avec deux images simplement


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 134
    Par défaut Personnaliser une checkbox avec deux images simplement
    Bonsoir,

    Je viens vous consulter car je souhaite réaliser une checkbox à l'aide de deux images, une coché, l'autre non.

    Cependant, j'ai pas mal cherché sur internet, mais tout ce que j'ai trouvé, se sont des code à rallonge.

    Ne connaissant que très très peu le JS, j'aimerais quelque chose de simple.

    Vous auriez ça sous la main ?

  2. #2
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour,

    le code JS :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function clickChk(obj)
    {
    	if (obj.src.toLowerCase()=='decoche.jpg')
    		obj.src = "coche.jpg";
    	else
    		obj.src = "decoche.jpg";
    }


    le code HTML
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <img src="decoche.jpg" alt="" onclick="clickChk(this)" />

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 134
    Par défaut
    Merci de ta réponse, mais ça ne change rien chez moi. La checkbox reste la même. :/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <form>
         <input type="checkbox" name="Checkbox" onclick="clickChk(this)" />
    </form>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <script laguage="Javascript">
    	function clickChk(obj)
    	{
    		if (obj.src.toLowerCase()=='images/case.png')
    			obj.src = "/images/caseonon.png";
    		else
    			obj.src = "images/case.png"
    	}
    </script>

  4. #4
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    j'ai utilisé une balise <img> pas une balise <input>

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 134
    Par défaut
    Ok, mais est ce que cela sera pris en comptes par le formulaire comme une checkbox ?

    La case non coché s'affiche bien, mais quand je clique rien ne fonctionne. :/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                        <img src="images/case.png" alt="" onclick="clickChk(this)" />
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <script laguage="Javascript">
    	function clickChk(obj)
    	{
    		if (obj.src.toLowerCase()=='images/case.png')
    			obj.src = "/images/caseonon.png";
    		else
    			obj.src = "images/case.png"
    	}
    </script>
    Merci et bonne soirée.

  6. #6
    Membre confirmé
    Inscrit en
    Novembre 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 27
    Par défaut
    Ok, mais est ce que cela sera pris en comptes par le formulaire comme une checkbox ?
    Non mais rien ne t'empêche dans ta fonction d'alimenter un input type hidden de ton formulaire avec la valeur que tu souhaites.

  7. #7
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    Citation Envoyé par julioooo Voir le message
    Non mais rien ne t'empêche dans ta fonction d'alimenter un input type hidden de ton formulaire avec la valeur que tu souhaites.
    +1
    Citation Envoyé par JeanJean75 Voir le message
    La case non coché s'affiche bien, mais quand je clique rien ne fonctionne.
    Tu ne testes peut être pas la bonne valeur. Ajoute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(obj.src.toLowerCase());
    en début de fonction pour vérifier ...

    A+

  8. #8
    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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    avec une seule image et en modifiant le background-positon ...
    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 !

  9. #9
    Membre confirmé
    Inscrit en
    Novembre 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 27
    Par défaut
    ou sinon

    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
    37
    38
     
    <html>
    	<head>
    		<title>Developpez</title>
    		<style>
    			#case{
    				width: 16px;
    				height: 16px;
    			}
    			.nonCoche{
    				background: transparent url(nonCoche.gif) no-repeat;
    			}
    			.coche{
    				background: transparent url(coche.gif) no-repeat;
    			}
    		</style>
    	</head>
    	<body>
    		<form id="monForm" action="http://developpez.com">
    			<div class="nonCoche" id="case" onclick="handleCocheClick()"></div>
    			<input type="hidden" id="laCoche" name="cocheParam" value="false"/>
    			<input type="submit" value="envoyer" />
    		</form>
    		<script>
    			function handleCocheClick(){
    				var cocheImg = document.getElementById("case");
    				var hiddenField = document.getElementById("laCoche");
    				if(cocheImg.className=="nonCoche"){
    					hiddenField.value="true";
    					cocheImg.className="coche";
    				}else{
    					hiddenField.value="false";
    					cocheImg.className="nonCoche";
    				}
    			}
    		</script>
    	</body>
    </html>
    enfin ca revient au même que le background-position

  10. #10
    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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    enfin ca revient au même que le background-position
    pas tout à fait ... une seule image est plus rapide , vu qu'il n'y a qu'une image a gérer .
    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 !

  11. #11
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Pour src c'est le chemin absolu qui est retourné, il faut donc ruser un peu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    	function clickChk(obj)
    	{
    		var fic = RegExp("(nonCoche.gif)$","gi");
     
     
    		if (fic.test(obj.src))
    			obj.src = "images/coche.gif";
    		else
    			obj.src = "images/nonCoche.gif"
    	}

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 134
    Par défaut
    Merci pour cette dernière méthode elle fonctionne particulièrement bien.

  13. #13
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    heuu et avec un bouton de type image , dont on change la source + la value a true ou false ???

    sinon : http://www.flog.co.nz/journal/arc-ad...customisation/

  14. #14
    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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    seul souci avec les boutons type image c'est qu'il declenchent la soumission du form avec la touche enter, mais un input type button dont on fait varier le backgroud position devrait être une bonne solution
    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 !

  15. #15
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    Sauf erreur de ma part, dans un formulaire , même sans input de type submit ou boutton , l'appui sur entrée , valide le formulaire

  16. #16
    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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    non
    sans input type submit ou sans input type image le bouton entrée ne valide pas le formulaire
    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 !

  17. #17
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    ok merci de l'info

Discussions similaires

  1. [2.x] Créer une liste avec des images et checkbox dans un formulaire
    Par bloodangel78 dans le forum Symfony
    Réponses: 5
    Dernier message: 22/07/2013, 17h19
  2. Réponses: 10
    Dernier message: 30/06/2005, 12h20
  3. comment filtrer une table avec deux criteres càd 2 colonnes
    Par athmane2dz dans le forum Bases de données
    Réponses: 7
    Dernier message: 28/07/2004, 15h25
  4. [struts] mémorisation d'une checkbox avec cookie
    Par rocco dans le forum Struts 1
    Réponses: 3
    Dernier message: 22/04/2004, 12h39

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