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 et dégriser un champ en fonction d'une case cochée


Sujet :

JavaScript

Vue hybride

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 61
    Par défaut Griser et dégriser un champ en fonction d'une case cochée
    Bonjour.

    Je viens à vous car j'ai encore des soucis de JS au boulot.
    Je crois que je ne vais pas avoir le choix et me mettre à l'étudier sérieusement, mais actuellement je n'ai pas le temps, le client n'attendra pas que j'pige pour recevoir son backoff.

    Voilà mon problème :

    J'ai un formulaire qui doit réagir instantanément... Ajax ?
    Bref, de base j'ai une checkbox qui est cochée.
    A coté de cette checkbox j'ai un input. J'aimerais que lorsque la checkbox est cochée, l'input soit grisé et lorsqu'elle est décochée, il ne soit plus grisé.

    On voit ça parfois mais je n'ai aucune idée de comment réaliser une telle action.

    Je m'en remets donc à votre bon coeur.

    Naturellement j'étudierai la proposition afin d'en comprendre le principe.

    Merci d'avance.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 397
    Par défaut
    Il suffit de changer la couleur en gris et de la passer en readOnly, ca c'est pour quelque chose de certain, je ne sais pas ce qui se passe quand on passe un champ text en disabled, ca fait peut être cela tout seul...

    Je vais tester de ce pas....

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 397
    Par défaut
    Ça a l'air de plutôt pas mal fonctionner.

    Si ton input text à un id ça sera facile.

    Après avoir testé si la checkbox est cochée ou non,

    Il suffit donc de récupérer le input de cette manière et de le griser comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('ton_id_champ_input').disabled=true;

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 61
    Par défaut
    Je te remercie de ta réponse que j'ai lue instantanément.
    Et je n'y arrive pas. Rien ne fonctionne.

    Peut-etre est-ce le test, en fait j'en sais rien ^^.

    Voilà mon code :

    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
    				<td class="lab">Prix d'exécution <?php if(isset($exe_price) != NULL || isset($exe_price) != 'pnd_exe') { ?><span class="parenthese">(<?php echo $price; ?> €) <?php } else { echo '( en € )'; } ?></span></td>
    				<td class="prix">
    					<input type="text" name="millier_exe" id="millier_exe" value="<?php echo $millier; ?>" class="large" maxlength="3" />
    					<input type="text" name="centaine_exe" id="centaine_exe" value="<?php echo $centaine; ?>" class="large" maxlength="3" />, 
    					<input type="text" name="decimale_exe" id="decimale_exe" value="<?php echo $decimal; ?>" class="large" maxlength="2" /> €<br />ou<br />
    					<input type="checkbox" value="pnd_exe" name="pnd_exe" id="pnd_exe" <?php if($exe_price == pnd_exe || $exe_price == NULL) { echo 'checked="checked"'; } ?>/> PND
    				</td>
     
    				<script>
    		if(document.forms["formulaire"].element["pnd_exe"].checked == true)
    		{
    		document.getElementById('millier_exe').disabled=true;
    		}
     
    		</script>
    It does not work

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 397
    Par défaut
    Il faut que tu places ton javascript dans une fonction comme par exemple comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <script>
    function DesactiverZoneTexte()
    {
    	if(document.forms["formulaire"].element["pnd_exe"].checked ==true)
    	{
    		document.getElementById('millier_exe').disabled=true;
    	}
    }		
    </script>
    Ensuite tu places ce code entre les balises <head> et </head> de ta page.

    Ensuite, dans la balise de ta checkbox, viens insérer un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    onchange="DesactiverZoneTexte();"
    Ca devrait fonctionner après ca.

    Bon courage

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 61
    Par défaut
    Ca ne fonctionne toujours pas

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 61
    Par défaut
    Hello.

    Je reviens à vous sur un problème important.
    Après avoir mis en place ce petit script, le submit ne fonctionne plus.

    Si j'enlève cette partie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <script>
    		checkboxClick();
    		checkboxClick2();
    	</script>
    Ca refonctionne. Moi pas comprendre .
    Si vous aviez une idée.

    Merci.

Discussions similaires

  1. [SP-2010] Griser un champ en fonction d'une valeur issue d'une liste de choix
    Par Blooster dans le forum SharePoint
    Réponses: 3
    Dernier message: 07/06/2013, 12h24
  2. Réponses: 4
    Dernier message: 03/08/2007, 14h04
  3. Changer le format d'un champ en fonction d'une valeur
    Par zoom61 dans le forum VBA Access
    Réponses: 6
    Dernier message: 17/06/2007, 21h35
  4. Modifier la valeur d'un champ en fonction d'une autre...
    Par venividivici dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 25/08/2005, 14h28
  5. Activation d'un champ en fonction d'une réponse
    Par soso78 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 30/05/2005, 09h59

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