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] Enregistrement checkbox et affichage couleurs


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 11
    Par défaut [AJAX] Enregistrement checkbox et affichage couleurs
    Bonjour,

    je ne m'y connais pas bien en PHP ou javascript.
    Voila.
    j'ai une page avec déja deux submit, un affichant une liste de projet situé en haut,
    le second en bas servant à écrire et envoyer une nouvelle tache.
    Les taches une fois émises apparaissent dans un cadre central
    Voici un rapide schéma pour mieux comprendre :

    liste projets à selectionner
    -------------------------------------------

    taches 1 bouton A faire bouton en cours bouton achevé Bouton Save
    taches 2 bouton A faire bouton en cours bouton achevé Bouton Save
    taches 3 bouton A faire bouton en cours bouton achevé Bouton Save
    -----------------------------------

    Text area [...........................] Bouton Envoyer

    Ce que je souhaiterais faire, c'est que l'on puisse cocher le bouton 1 A faire et que la tache sélectionnée s'enregistre dans un champ disons taches_etat mais que le texte enregistré Afaire devienne rouge.

    De même pour les bouton En cours et Achevé qui enregistrent les taches dans taches_etat et les font apparaitre en d'autres couleurs.

    Cela est-il possible sachant que j'ai déja deux submit dans ma page?
    Si vous pouviez m'aider. merci

  2. #2
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut Piste pour la suite
    Voilaà le type de code que tu peux adapter ou piocher selon tes besoins:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
        <form>
        <div>
        tache 1 <button onclick="this.form.taches_etat.value += ' tache1';
                                 this.style.color='red'">A Faire</button><br>
     
        tache 2 <button onclick="this.form.taches_etat.value += ' tache2';
                                 this.style.color='red'">A Faire</button><br>
     
        <input type="text" name="taches_etat" value="" />
        </form>
    ERE

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 11
    Par défaut enregistrer et aficher l'état d'une checkbox cochée
    Bonjour, merci de ta réponse mais j'aimerais procéder de la sorte.
    EN fait, je souhaiterais que sur mon formulaire, (sans passer par un submit) lorsque l'utilisateur coche une checkbox (qui fait alors changer de couleur la ligne correspondante) , cet état s'enregistre ainsi que la checkbox cochée.

    voici mon code PHP

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo'<td><input type="checkbox" name="afaire[]" onchange="rouge(this);" /></td>';
    et mon code javascript pour la couleur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function rouge(rouge)
        {    if ( rouge.checked )
    	rouge.parentNode.parentNode.style.color="#bc1f1f";
              else    
           rouge.parentNode.parentNode.style.color="white";
          }
    ca doit être possible tout de même sans passer par la base de données,
    une fonction javascript qui retourne sur la page l'état enregistré..

    merci!

  4. #4
    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
    Par défaut
    Salut,
    Utilise onclick à la place de onchange pour le changement de la couleur local.
    Pour l'enregistrement utilise une requête AJAX.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function rouge(rouge)
    {
    	if(rouge.checked)
    {rouge.parentNode.parentNode.style.color="#bc1f1f";
    //enregistrement via AJAX ICI
    }
    	else{rouge.parentNode.parentNode.style.color="white";
    //enregistrement via AJAX ICI
    }
    }

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 11
    Par défaut ajax enregistrement
    Bonjour, je te remercie pour ta réponse.
    Je vois qu'il faut absolument que j'utilise Ajax..
    le problème c'est que je n'y connais rien..
    je pensais que je pouvais peut-être passer par un cookie en php pour éviter de recharger la page et conserver les données mais je n'obtiens rien ..

    Désolé de te demander ca mais pourrais-tu m'en dire davantage sur la fonction AJAX pour enregistrer ce type de requête??

    merci encore et désolé je suis vraiment débutant en PHP alors en Ajax...
    Merci beaucoup..

  6. #6
    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
    Par défaut
    Code JAVASCRIPT : 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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    function createXHR() 
    {
        var request = false;
            try {
                request = new ActiveXObject('Msxml2.XMLHTTP');
            }
            catch (err2) {
                try {
                    request = new ActiveXObject('Microsoft.XMLHTTP');
                }
                catch (err3) {
    		try {
    			request = new XMLHttpRequest();
    		}
    		catch (err1) 
    		{
    			request = false;
    		}
                }
            }
        return request;
    }
    function savecolor(couleur,id) 
    {
    	var xhr=createXHR();
    			xhr.open("POST", "page.php",true);
    			xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    			xhr.onreadystatechange = function()
    			{ 
    			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) 
    				{
    					alert(xmlhttp.responseText);
    				}
    			}
    			var donnee='couleur='+couleur+'&id='+id;
    			xhr.send(donnee); 
    }
    function rouge(rouge,id)
    {
    	if(rouge.checked)
    {rouge.parentNode.parentNode.style.color="#bc1f1f";
    	savecolor('#bc1f1f',id);
    }
    	else{rouge.parentNode.parentNode.style.color="white";
    	savecolor('white',id);
    }
    }
    J'ai mis id en paramètre si la ligne modifiée en a une.
    Du coté php
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    	if(isset($_POST['couleur']) && isset($_POST['id']))
    	{
    		//La requete pour l'enregistrement ici;
    		echo'Couleur enregistré';
    	}
    ?>

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 31/01/2007, 14h59
  2. Enregistrements clignotants ou en couleurs
    Par castours dans le forum Access
    Réponses: 3
    Dernier message: 17/10/2006, 10h18
  3. Réponses: 4
    Dernier message: 29/06/2006, 10h09
  4. [AJAX] Enregistrer un flux XML
    Par Bissada dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 26/06/2006, 17h52
  5. [css] [xhtml] affichage couleur fond de page
    Par TERRIBLE dans le forum Mise en page CSS
    Réponses: 12
    Dernier message: 30/12/2005, 13h06

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