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

AJAX Discussion :

[AJAX] changer un label en fonction d'une checkbox


Sujet :

AJAX

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2009
    Messages : 70
    Points : 59
    Points
    59
    Par défaut [AJAX] changer un label en fonction d'une checkbox
    bonjour,

    j'ai un petit bout de code pour modifier la valeur d'un label en fonction de ma checkbox.

    Mais quand elle est décocher rien ne se passe

    index.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <div id='active' style='display:inline' onclick='message_checkbox();'>
     
    <label>cocher pour désactiver le mail</label><input type='checkbox' name='active' id='case_active' value='1'>
     
    </div>

    fonction Ajax.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?php
    	//Cette page php va permettre d'afficher une phrase
    	$coche = $_POST['idCase'];
     
    	if($coche==true)
    	{	
    		echo "<label>decocher pour activer le mail</label><input type='checkbox' name='active' id='active' value='0' checked='checked'>";
    	}
    	else
    	{
    		echo "<label>cocher pour desactiver le mail</label><input type='checkbox' name='active' id='active' value='1'>";
    	}
    ?>
    fonction.js

    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
     
    function message_checkbox()
    {
    	//On fait un teste du navigateur
    	getXhr();
    	// On défini ce qu'on va faire quand on aura la réponse
    	xhr.onreadystatechange = function()
    	{
    		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
    		if(xhr.readyState == 4 && xhr.status == 200)
    		{
    			lacheckbox = xhr.responseText;
    			document.getElementById('active').innerHTML = lacheckbox;
    		}
    	}
    	//On definie le mode du transfert de la variable vers une page php
    	xhr.open("POST","Ajax_checkbox.php",true);
    	//ne pas oublier ceci pour la methode POST
    	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    	//ne pas oublier de poster les arguments
    	var coche = document.formulaire_mail['active'].checked;
    	if (document.formulaire_mail['active'].checked==true)
    	{
    		alert(coche);
    		xhr.send("idCase="+coche);
    	}
    }
    lorsqu'elle est cocher elle change le label mais rien quand elle est decoché.

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Salut,
    C'est normale car tu n'envoies pas la requête que si le checkbox est coché (le xhr.send dans la condition if).
    Essaye d'envoyer une valeur différent selon l'état du checbox
    Code JAVASCRIPT : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var coche;
    	if (document.formulaire_mail['active'].checked==true)
    	{
    		coche='a';
    	}
    else {coche='b'}
    xhr.send("idCase="+coche);
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    	//Cette page php va permettre d'afficher une phrase
    	$coche = $_POST['idCase'];
     
    	if($coche=='a')
    	{	
    		echo "<label>decocher pour activer le mail</label><input type='checkbox' name='active' id='active' value='0' checked='checked'>";
    	}
    	else
    	{
    		echo "<label>cocher pour desactiver le mail</label><input type='checkbox' name='active' id='active' value='1'>";
    	}
    ?>

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2009
    Messages : 70
    Points : 59
    Points
    59
    Par défaut
    merci pour ton aide.

    tortue

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 28/05/2014, 12h21
  2. Changer un paramètre de fonction dans une boucle
    Par DeezerD dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 24/01/2008, 14h23
  3. Réponses: 2
    Dernier message: 29/06/2007, 11h20
  4. changer couleur cellule en fonction d'une liste
    Par MottetCCSF dans le forum Excel
    Réponses: 4
    Dernier message: 20/06/2007, 12h21
  5. [FOP] Changer le bckground en fonction d'une donnée
    Par lasconic dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 17/02/2005, 16h59

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