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 :

Disabled avec checbox sur un tableau PHP


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2010
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 43
    Points : 27
    Points
    27
    Par défaut Disabled avec checbox sur un tableau PHP
    Bonjour tout le monde,

    J'ai hésité à mettre poster dans la rubrique PHP ou javascript.
    Je suis en train de développer un site en php (avec sources ODBC) et j'aurais besoin de vos lumières. Pour info, c'est un site de vente de jeux vidéos.

    Pour créer/modifier un jeu, je dois indiquer sur quelles consoles le jeu est disponible. Des images valant mieux qu'un long discours, une capture est jointe.

    Voici un extrait de code du tableau :
    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
    <disponibilite_jeu_modif>
      <h1>Disponible sur...</h1>
    
      <?php
        $sql_support = "SELECT * FROM SUPPORT";
        list($erreur_support, $resultat_support) = getData($db['dsn'], $db['user'], $db['pass'], $sql_support);
    
        foreach($resultat_support as $m => $affichage_support)
        {
        ?>
        <table>
          <tr>
            <td><input type="checkbox" name="id_support[]" id="support_jeu[<?php echo $affichage_support['ID_SUPPORT']; ?>]" onclick="grise()" value="<?php echo $affichage_support['ID_SUPPORT']; ?>"...></td>
            <td width=100><?php echo $affichage_support['LIBELLE_SUPPORT']; ?></td>
            <td width=100><input type="text" size=2 name="prix_jeu[]" id="prix_jeu[<?php echo $affichage_support['ID_SUPPORT']; ?>]" ... >€</td>
            <td width=100><input type="text" size=7 name="date_sortie_jeu[]" id="date_sortie_jeu[<?php echo $affichage_support['ID_SUPPORT']; ?>]" ...</td>
            <td><input type="file" name="affiche_jeu[]" id="affiche_jeu[<?php echo $affichage_support['ID_SUPPORT']; ?>]"></td>
          </tr>
        </table>
        <?php
        }
        ?>
    </disponibilite_jeu_modif>
    Et voici ma fonction javascript "grise" qui me sert à griser les champs prix, date de sortie et affiche du jeu en fonction de la checkbox correspondante :

    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 grise()
    {
      var i=1;
     
      if(document.getElementById('support_jeu[i]').checked)
      {
        document.getElementById('prix_jeu[i]').disabled=false;
        document.getElementById('date_sortie_jeu[i]').disabled=false;
        document.getElementById('affiche_jeu[i]').disabled=false;
      }
      else
      {
        document.getElementById('prix_jeu[i]').disabled=true;
        document.getElementById('date_sortie_jeu[i]').disabled=true;
        document.getElementById('affiche_jeu[i]').disabled=true;
      }
      i++;
    }
    Mais ça ne marche pas !! Et je ne vois vraiment pas comment faire. Je pense ne pas être très loin du compte mais bon...Une boucle est nécessaire à mon avis mais je n'y arrive pas.

    J'espère vraiment avoir été assez clair. Sinon n'hésitez pas à me demander plus de précision. En tout les cas merci de votre aide

    kiradeus
    Images attachées Images attachées  

  2. #2
    jnore
    Invité(e)
    Par défaut
    Salut

    Quand tu cliques sur la case à cocher, cela doit désactiver les inputs de la même ligne ou des autres?

  3. #3
    jnore
    Invité(e)
    Par défaut
    Si apres avoir coché, ce sont les éléments de la même ligne qui doivent être désactivés alors, fais ces quelques modifs:

    1) Modif sur le onclick de la checkbox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    onclick="grise(this)"

    2) Modifs sur la fct grise()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function grise(cb) {
    	var tab = cb.parentNode.parentNode.getElementsByTagName('input');
    	for (var i=0; i<tab.length; i++) {
    		if((tab[i].type=="text" || tab[i].type=="file") && tab[i].disabled==false) {
    			tab[i].disabled=true;
    			}
    			else {
    			tab[i].disabled=false;
    			}
    		}	
    	}
    Avec ce code (utilisation du dom), tu n'es pas dans l'obligation de connaitre les ids des inputs à désactiver, ce qui est plus pratique.

  4. #4
    Nouveau membre du Club
    Inscrit en
    Janvier 2010
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 43
    Points : 27
    Points
    27
    Par défaut
    Salut jnore !

    Tout d'abord merci beaucoup pour ton aide. Et grâce à toi, mon problème est réglé ça marche comme sur des roulettes

    Il fallait que, lorsque le checkbox n'était pas coché, alors tous les éléments de la même ligne soient grisés pour obliger à l'utilisateur de sélectionner la console pour y saisir le prix, la date et l'affiche du jeu correspondante. Et inversement.

    Merci encore pour ton aide

    kiradeus

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

Discussions similaires

  1. comparaison -tri sur un tableau php
    Par swann_cb dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 24/04/2009, 14h43
  2. Réponses: 15
    Dernier message: 11/05/2007, 16h28
  3. Réponses: 5
    Dernier message: 06/01/2007, 12h09
  4. [MySQL] Problème affichage tableau PHP avec données SQL
    Par akalaan dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 25/04/2006, 15h34
  5. [FPDF] Afficher un tableau php avec fdpf
    Par sami69 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 10/04/2006, 14h47

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