Partage
  • Partager sur Facebook
  • Partager sur Twitter

Bouton non cliquable

si vide

Sujet résolu
Anonyme
    19 septembre 2009 à 18:30:22

    Bonjour,
    Je voudrais savoir comment réaliser un système pour Formulaire, quand on à rien écrit dans le textarea ou input, le bouton <submit> n'est pas cliquable.
    Merci de votre aide
    • Partager sur Facebook
    • Partager sur Twitter
      19 septembre 2009 à 18:40:23

      Salut,

      Tu peux faire une fonction qui va vérifier si l'input est remplit (avec if(document.getElementById('test').value != "") par exemple).
      Si tel est le cas, alors tu changes l'attribut du bouton submit (avec document.getElementById('monSubmit').disabled = false).
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        19 septembre 2009 à 22:12:27

        Oui mais c'est exactement le code ou il faut le modifier car je suis nul en JS ^^
        • Partager sur Facebook
        • Partager sur Twitter
          19 septembre 2009 à 22:21:42

          Petit exemple rapide :

          <script type="text/javascript">
          function verifInput(id, idSubmit) {
          	if(document.getElementById(id).value != "")
          		document.getElementById(idSubmit).disabled = false;
          }
          </script>
          
          <form name="test" action="check.php" method="post">
          	<input type="text" id="inputTest" onchange="verifInput(this.id, 'btnSubmit');" />
          	<input type="submit" name="btnSub" disabled="true" id="btnSubmit" />
          </form>
          
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            9 octobre 2009 à 23:36:01

            Est-ce que ça fonctionne avec plusieurs input ?
            • Partager sur Facebook
            • Partager sur Twitter
              10 octobre 2009 à 20:18:50

              Qu'entends-tu par plusieurs input ?
              En désactiver plusieurs à la fois, ou appliquer cette "technique" à d'autre input ?
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                10 octobre 2009 à 21:44:30

                Je veux dire, tant que trois input n'ont pas été remplis, on ne peut pas cliquer ^^
                • Partager sur Facebook
                • Partager sur Twitter
                  10 octobre 2009 à 22:19:54

                  Citation : tilimac

                  tu avait sa sinon
                  http://www.editeurjavascript.com/scrip [...] res_2_185.php


                  Yuck, c'est moche !
                  Je ne détaillerais pas, voir le tutoriel sur les bonnes pratiques en javascript.

                  Pour ce qui est de ton besoin, saches que tu ne pourras pas obliger l'utilisateur à le faire et qu'un utilisateur sans javascript pourra passer sans les cocher. Il faut donc une vérification côté serveur pas la suite.

                  Enfin, je te conseil de mettre une class "needed" à tes éléments et de vérifier avec une boucle que tous les éléments ayant cette class sont cochés.
                  https://developer.mozilla.org/En/DOM/d [...] tsByClassName
                  Par contre elle n'est pas par défaut sur tous les navigateur donc il faut la recoder si elle n'existe pas.
                  if (!document.getElementsByClassName){
                    document.getElementsByClassName = function(){
                      // une implémentation de la fonction
                    }
                  }
                  
                  • Partager sur Facebook
                  • Partager sur Twitter
                    27 mai 2010 à 13:01:18

                    Bonjour à tous,

                    Je remonte le sujet car j'ai la même problématique pour un champ de recherche (j'aimerais que le bouton ne soit pas actif si l'utilisateur n'a rien rentré dans le champ).

                    J'ai testé cette solution donnée plus haut qui me semblait être idéale :

                    Citation : DjLeChuck

                    Petit exemple rapide :

                    <script type="text/javascript">
                    function verifInput(id, idSubmit) {
                    	if(document.getElementById(id).value != "")
                    		document.getElementById(idSubmit).disabled = false;
                    }
                    </script>
                    
                    <form name="test" action="check.php" method="post">
                    	<input type="text" id="inputTest" onchange="verifInput(this.id, 'btnSubmit');" />
                    	<input type="submit" name="btnSub" disabled="true" id="btnSubmit" />
                    </form>
                    


                    Sauf que d'après mes tests, le bouton reste désactivé que le champ texte soit rempli ou non. >_<

                    A priori, au chargement de la page il est désactivé (disabled=true), mais la condition value != "" ne semble pas s'effectuer avec le onchange. Du coup le bouton n'est jamais activé (disabled=false). Pour être certain, j'ai fais un copier-coller de ce code : vous verrez que le bouton Envoyer ne s'active jamais... :'(

                    Faut-il une adaptation de ce code ou avez-vous une autre idée ? :p
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      27 mai 2010 à 13:13:06

                      Il faut faire un :
                      onKeyPress= ou onPressKey= (un truc du genre XD) au lieu de onchange.
                      Parce que le onchange c'est plutôt pour un select ;)

                      EDIT : Essaye en mettant disabled="disabled" dans le submit et disabled="" dans la fonction JS ;)
                      • Partager sur Facebook
                      • Partager sur Twitter
                        27 mai 2010 à 13:54:25

                        onblur="tafonction();"
                        • Partager sur Facebook
                        • Partager sur Twitter
                          27 mai 2010 à 14:45:55

                          Je n'ai pas eu le temps d'aller fouiller du coté de onblur mais merci pour la suggestion.

                          Merci aussi pour la solution du disabled="disabled" et du onkeypress car cela fonctionne pour ce dont j'ai besoin avec un petit effet non dérangeant :

                          <?php
                          <script type="text/javascript">
                          function verifInput(id, idSubmit) {
                          	if(document.getElementById(id).value != "")
                          		document.getElementById(idSubmit).disabled = "";
                          }
                          </script>
                          
                          <form name="test" action="check.php" method="post">
                          	<input type="text" id="inputTest" onkeypress="verifInput(this.id, 'btnSubmit');" />
                          	<input type="submit" name="btnSub" disabled="disabled" id="btnSubmit" />
                          </form>
                          ?>
                          


                          Le petit effet dont je parle c'est que ça reste désactivé en rentrant un seul caractère, ça ne s'active qu'à partir du second. Bon en même temps ça m'arrange parce que lancer une recherche avec 1 caractère c'est pas une bonne idée. :p
                          • Partager sur Facebook
                          • Partager sur Twitter
                            27 mai 2010 à 15:32:07

                            Tu peux mettre onkeyup sinon :)
                            • Partager sur Facebook
                            • Partager sur Twitter
                              27 mai 2010 à 15:43:19

                              Ah bin effectivement avec le onkeyup ça marche nickel :D

                              Promis, dès que j'ai le temps j'irai essayer de comprendre quelque chose à onblur ^^
                              • Partager sur Facebook
                              • Partager sur Twitter
                                27 mai 2010 à 15:48:59

                                onblur = lorsqu'on perd le focus
                                edit: tiens, au passage, est-ce que l'auteur peut passer en résolu ? enfin si c'est bon =)
                                • Partager sur Facebook
                                • Partager sur Twitter
                                Anonyme
                                  27 mai 2010 à 20:30:49

                                  Ouais c'est fait :)
                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  Bouton non cliquable

                                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                  • Editeur
                                  • Markdown