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 :

Griser un formulaire à l'aide d'une checkBox


Sujet :

JavaScript

  1. #1
    Membre du Club
    Femme Profil pro
    Apprentie Développeuse
    Inscrit en
    Février 2013
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Apprentie Développeuse
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 106
    Points : 44
    Points
    44
    Par défaut Griser un formulaire à l'aide d'une checkBox
    Bonjour ,

    voila mon problème j'ai une checkBox et j'aimerais que lorsque les utilisateurs coche la case tous les champs du formulaire soient grisés et lorsqu'on décoche qu'on puisse à nouveau saisir.

    J'ai réussi à griser en utilisant un seul champ de mon formulaire mais je n'arrive pas à en griser plusieurs voici mon code

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <tr <?php echo helper_alternate_class() ?>>
    	<td class="category">
    		<?php print_documentation_link( 'cloture) ?>
    	</td>
    	<td>
    		<label><input <?php echo helper_get_tab_index()?> type="checkbox" id="cloture" name="cloture" onclick="DesactiverZoneTexte('fa')"/> <?php echo lang_get( 'check_close' ) ?></label>
    	</td>
    </tr>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function DesactiverZoneTexte(element){
    var text = document.getElementById(element);
    if(text.disabled == true)
    	text.disabled = false;
    else 
    	text.disabled = true;
    }
    Merci par avance pour votre aide

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Tu as deux possibilités :
    • soit faire une boucle sur tous les champs à désactiver et modifier la propriété disabled ;
    • soit regrouper tous les champs dans un unique <fieldset> (qui sert à ça sémantiquement du reste) et modifier la propriété disabled du fieldset.

  3. #3
    Membre du Club
    Femme Profil pro
    Apprentie Développeuse
    Inscrit en
    Février 2013
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Apprentie Développeuse
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 106
    Points : 44
    Points
    44
    Par défaut
    Je vais passer par une boucle mais j'ai un peu de mal à la faire
    et l'autre solution avec mon code actuel ne conviens
    quelqu'un pourrait-il me mettre sur un début de piste svp

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 125
    Points : 149
    Points
    149
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var fieldList = document.getElementById('#Id de ton form').getElementByTagName('input');
    for (var i=0; i < fieldList.length; i++) {
    fieldList[i].setAttribute('disabled', true)
    }
    Voici un petit indice
    J'ai pas testé mais ça devrait marcher :O

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Quelques remarques kaari.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('#idForm').getElementByTagName('input');
    peut se résumer (sur les navigateurs compatibles) par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.querySelectorAll('#idForm input');


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fieldList[i].setAttribute('disabled', true)
    setAttribute() est un peu maladroit dans ce contexte : cette méthode sert à modifier un attribut HTML, or toi, tu veux affecter une propriété JavaScript (même si les deux sont liées), il est donc préférable d'utiliser la propriété JavaScript plutôt que l'attribut HTML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fieldList[i].disabled = true;

  6. #6
    Membre du Club
    Femme Profil pro
    Apprentie Développeuse
    Inscrit en
    Février 2013
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Apprentie Développeuse
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 106
    Points : 44
    Points
    44
    Par défaut
    Merci de vos réponses c'est trop gentil !!!


    j'ai testé mais ça grise que ma checkbox :/
    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
    tr <?php echo helper_alternate_class() ?>>
    		<td class="category">
    			<?php print_documentation_link( 'cloture_FA' ) ?>
    		</td>
    		<td>
    			<label><input <?php echo helper_get_tab_index()?> type="checkbox" id="cloture_FA" name="cloture_FA" onclick="DesactiverZoneTexte()"/> <?php echo lang_get( 'check_close' ) ?></label>
    		</td>
    	</tr>
     
    <script type="text/javascript">
    function DesactiverZoneTexte()
    {
    var fiedList = document.querySelectorAll('#form input');
    for(var i=0;i<fiedList.length;i++) {
     
    	fiedList[i].disabled = true;
    }
    }			
    </script>

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 125
    Points : 149
    Points
    149
    Par défaut
    Merci Bovino pour tes précisions.

    Juniordev c'est normal tu n'as aucun élément encapsulant ton formulaire avec l'id: "form".

  8. #8
    Membre du Club
    Femme Profil pro
    Apprentie Développeuse
    Inscrit en
    Février 2013
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Apprentie Développeuse
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 106
    Points : 44
    Points
    44
    Par défaut
    Bah j'ai ajouté :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form name="report_bug_form" id="form" method="post" <?php if ( $tpl_show_attachments ) { echo 'enctype="multipart/form-data"'; } ?> action="bug_report.php">
     
    ... toutes mes fonctions php
     
    </form>
    ça fonctionne mais ça me grise ma checkbox et j'aimerais que quand on décoche les champs ne soient plus grisés :/

Discussions similaires

  1. Creer une condition sur mon programme à l'aide d'une checkbox
    Par Esmax dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 23/08/2010, 20h53
  2. [XL-2003] Remplir une combobox à l'aide d'une checkbox
    Par mentat dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 28/08/2009, 17h57
  3. [PDO] Soumettre un formulaire à l'aide d'une fonction
    Par Sayrus dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 04/03/2008, 01h20
  4. Masquer un champs à l'aide d'une checkbox
    Par Jumano dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/03/2007, 17h15
  5. Réponses: 5
    Dernier message: 11/08/2006, 10h38

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