Comment griser un bouton dans un formulaire? PHP

cs_Vins974 Messages postés 104 Date d'inscription lundi 19 janvier 2009 Statut Membre Dernière intervention 20 février 2009 - 21 janv. 2009 à 06:54
cs_Vins974 Messages postés 104 Date d'inscription lundi 19 janvier 2009 Statut Membre Dernière intervention 20 février 2009 - 22 janv. 2009 à 11:55
Bonjour,

J'ai créé un formulaire, qui doit etre rempli par les utilisateurs
de mon site, Cependant, je voudrais que le bouton soit grisé par
défault, et que lorsque tous les champs soit rempli, il se dégrise de
façon à ce qu'on puisse cliquer sur le bouton.

Merci de votre aide

[ 'Tu trouveras toujours plus fort que toi' ]

11 réponses

kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
21 janv. 2009 à 09:05
Salut,

Il te faut faire une fonction Javascript du genre :

function control () {
   /* contrôle sur tous les champs du formulaire. Là ça dépend des données de ton formulaire et de ce que tu souhaites contrôler */
   si OK => document.getElementById('sub').disabled = false;
   si pas OK => document.getElementById('sub').disabled = true;
}

Le bouton de validation :

Le mieux reste d'appeler la fonction à intervalles réguliers (1,2 sec).

Cordialement,

Kohntark-
0
cs_Vins974 Messages postés 104 Date d'inscription lundi 19 janvier 2009 Statut Membre Dernière intervention 20 février 2009
21 janv. 2009 à 11:05
J'ai fait ca mais ca ne marche toujours pas :

            <script type="text/javascript">

            function verif1()
            {
            //veriication que le login est entré
            if(document.validation.login.value=="")
            {
            document.getElementById('connexion').disabled = false;
            }
            if(document.validation.login.value!="")
            {
            document.getElementById('connexion').disabled = true;
            }
            }

            </script>

Cordialement, Vin's

[ 'Tu trouveras toujours plus fort que toi' ]
0
gr43 Messages postés 95 Date d'inscription mardi 20 mai 2008 Statut Membre Dernière intervention 8 septembre 2010
21 janv. 2009 à 11:10
Salut,

donc ton id est connect

or tu fais
document.getElementById('connexion').disabled = false;

tu devrais faire
document.getElementById('connect').disabled = false;

Normalement la console d'erreur de FireFox (ou autre sous IE) devrait de donner l'erreur.
A plus.
0
cs_Vins974 Messages postés 104 Date d'inscription lundi 19 janvier 2009 Statut Membre Dernière intervention 20 février 2009
21 janv. 2009 à 12:39
Ca marche merci. Mias c'est dommage car quand je tape toujours dans la zone de texte elle se dégrise pas tout de suite, il faut que je clique d'abord à côté.. Si tu connais la solution, se serait cool. Merci

[ 'Tu trouveras toujours plus fort que toi' ]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gr43 Messages postés 95 Date d'inscription mardi 20 mai 2008 Statut Membre Dernière intervention 8 septembre 2010
21 janv. 2009 à 17:18
Excuse pour la lenteur, je suis au boulot. Avec, onFocus ou onSelect dés que l'utilisateur cliqueras dans la zone texte ton bouton se dégrisera mais même s'il n'a rien tapé. Le mieux serait onKeyUp ou onKeyPress ou onKeyDown.
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
21 janv. 2009 à 22:31
Ne connaissant pas ton formulaire je proposais de lancer la fonction a intervals réguliers pour éviter de gérer les différents événements liés aux types. Si tu n'as que 2, 3 champs il vaut mieux gérer unitairement. Par contre le contrôle que tu fais (comme le dis implicitement gr43) ne sert à rien car il est beaucoup trop simple. En somme il n'a aucun intérêt. Je pense que tu devrais contrôler les impératifs que tu t'ai fixés avant de rendre actif le bonton (nombre de caractères, etc ...)

Kohntark -
0
cs_Vins974 Messages postés 104 Date d'inscription lundi 19 janvier 2009 Statut Membre Dernière intervention 20 février 2009
22 janv. 2009 à 06:03
D'accord, mais ce formulaire, c'est le plus simple. J'en ai beaucoup d'autre de formulaire dans mon site, et il y en a, qui en on même une particularité, c'est qu'il se dégrise, pas quand TOUS les champs sont pleins. Ca dépend. Je vous envoi le formulaire pour que vous comprenez mieux.

    <form action="ajoutinter.php" method='post'><!-- formulaire -->
        <!-- tableau sans bordure pour organiser et tout aligner -->
               ----
Type d'intervention*  :,
                     <select style="width: 320" name="type"><!-- Liste deroulante, permettant de choisir les types -->
                    <option>< Type ></option>
                        <?php
                            while ($ligne2=mysql_fetch_array($resultat))
                            {
                        ?>
                        <option>
                            <?php
                                echo ''.$ligne['Libelle_type'].'';  
                            ?>
                        </option>
                        <?php
                            }
                        ?>   
                       
                    </select>
               ,    

           
            ----

                Libelle d'intervention*  :,
                , <!-- zone de texte -->
           
            ----

                Dur&eacute;e (en minutes)*  :,
                , <!-- zone de texte n'autorisant uniquement la saisie de chiffres-->
           
            ----

                Date d&eacute;but*  :,
                <?php include ("fonctioncalendrier.php");?>,
               
           
            ----

                Date fin :,
                <?php include ("fonctioncalendrier.php");?>,
               
           
           

       

   

    <center>
   
    <!--  bouton ajouter une intervention -->
   
    </center>
        </form>   

Voila et j'aimerais que le bouton valider soit griser par défault et qu'il se dégrise lorsque  tous les champs soit remplis à l'exception du dernier input qui a pour name="date_fin" .. Ce champ n'est pas obligatoire en fait.

Merci
[ 'Tu trouveras toujours plus fort que toi' ]
0
gr43 Messages postés 95 Date d'inscription mardi 20 mai 2008 Statut Membre Dernière intervention 8 septembre 2010
22 janv. 2009 à 10:44
Salut, tu peux faire un onKeyPress sur chaque element que tu veux obligatoire avec un test adéquate (nombre, string, tel, mail...) et  dés que le champ correspond à tes exigences tu stocke si le champs est correct dans une variable globale. Si tu as 3 champs obligatoires, tu n'affiche ton bouton que si t'as variable globale possède les 3 id des champs obligatoire (chaque fonction des champs obligatoires appel une fonction générique qui vérifie la valeur de la var globale et affiche le bouton valider si =ok). Il faut par contre supprimer de ta variable globale l'id de ton champ suite à une modif d'un champ correct qui ne le serait plus. Attention cependant à vérifier également en php la valeur des champs car le javascript n'est pas une solution de controle fiable et puis si ton utilisateur n'accepte pas le js, il ne pourra pas valider ton formulaire implicetement tout du moins.
Je suis pas sûr d'avoir été bien claire....
0
cs_Vins974 Messages postés 104 Date d'inscription lundi 19 janvier 2009 Statut Membre Dernière intervention 20 février 2009
22 janv. 2009 à 11:11
Arf, jte remercie beaucoup, mais je vois ce que tu me dit de faire, mais jarrive pas à traduire ça en code PHP .. Ben tant pis, merci quand même. C'est aussi compliqué que ça !!!!???

Cordialement

[ 'Tu trouveras toujours plus fort que toi' ]
0
gr43 Messages postés 95 Date d'inscription mardi 20 mai 2008 Statut Membre Dernière intervention 8 septembre 2010
22 janv. 2009 à 11:25
Non, c'est du js. Tu devrais pouvoir trouver des classes ou fonction js existante sur le web mais en générale on stocke les erreurs des différents champs et lors du click sur le bouton on affiche la cause des erreurs avec une modal (alert ou personnalisée, car plus sympa estétiquement) puis on retraite côté php.
0
cs_Vins974 Messages postés 104 Date d'inscription lundi 19 janvier 2009 Statut Membre Dernière intervention 20 février 2009
22 janv. 2009 à 11:55
Putinnn j'y comprends riennn mdrrr ... lol non ben c'est pas grave. Jte remercie beaucoup quand même..

[ 'Tu trouveras toujours plus fort que toi' ]
0
Rejoignez-nous