Partage
  • Partager sur Facebook
  • Partager sur Twitter

script sur <button>

Sujet résolu
    24 février 2010 à 9:18:03

    <button onClick="this.style.backgroundColor= red;">oui</button>
    


    Pourquoi ca ne donne rien??
    • Partager sur Facebook
    • Partager sur Twitter
      24 février 2010 à 9:25:59

      Parce qu'il faut mettre des guillemets autour de la valeur 'red'.

      <button onclick="this.style.backgroundColor='red';">oui</button>
      


      Aussi, il est préférable de mettre les attributs HTML en minuscules. Donc "onclick" et non pas "onClick".

      Pense à mettre ton sujet en résolu à l'aide du lien en bas de page ;)
      • Partager sur Facebook
      • Partager sur Twitter
        24 février 2010 à 9:47:09

        Merci ca a tres bien marché,cela dit,quand je voulais utiliser une fonction ca n'a pas marché :(
        <form id="enregistrement" method="post" action="inscrit.php">
        <input type="password" name="motDePasse" id="pass" size ="18" onblur="verifMotDePasse(this);" maxlength="30" tabindex="3"/>
        



        <script style="text/javascript">
        
        function verifMotDePasse(champ)
        {
        	if(document.getElementById("enregistrement").champ.value=='')
        	{
        		surligne(champ,true);
        		return true;
        	}
        	else
        	{
        		surligne(champ,false);
        		return false;
        	}
        }
        //************fonction qui colorie les champs invalides*********
        function surligne(champ, erreur)
        {
           if(erreur)
              champ.style.backgroundColor = '#fba';
           else
              champ.style.backgroundColor = "";
        }
        
        </script>
        
        • Partager sur Facebook
        • Partager sur Twitter
          24 février 2010 à 10:01:28

          Ligne 5 écris directement

          if(champ.value=='')
          • Partager sur Facebook
          • Partager sur Twitter
            24 février 2010 à 10:37:12

            Je suis un veritable embeteur :euh: .Ta solution est en effet bonne et elle marche bien et je pourrais m'en contenter sauf que je ne vois absolument pas de probleme dans l'autre méthode que j'avais utilisée.
            document.getElementById["enregistrement"].elements["login"].value);
            

            "document.getElementById["enregistrement"].elements["login"]" designe bien la balise dans laquelle je me trouve: la balise qui a "name=login" et qui est dans le formulaire "id=enregistrement".
            Ce serait tres aimable de me clarifier ce point :) .
            • Partager sur Facebook
            • Partager sur Twitter
              24 février 2010 à 10:55:29

              Non, ce que tu avais écris toi, c'est ça :

              if(document.getElementById("enregistrement").champ.value=='')

              Y'a deux choses qui ne vont pas.
              Premièrement, là, ce que tu as écris signifie : "Le champ ayant pour name 'champ' dans le formulaire ayant pour id 'enregistrement'".
              Le name que tu veux n'est pas 'champ', mais la valeur de la variable champ
              Donc il aurait fallu écrire :

              if(document.getElementById("enregistrement")[champ].value=='')

              Mais là, arrive le second problème... Ton paramètre champ ne contient pas le name du champ, mais bien le champ lui-même !

              En effet, tu as passé en paramètre this qui représente le champ.

              Donc il est inutile de tergiverser avec des lignes de code compliquées ^^

              Ton paramètre champ représente ton input, tu peux donc l'utiliser directement.
              • Partager sur Facebook
              • Partager sur Twitter
                24 février 2010 à 11:23:48

                if(document.getElementById("enregistrement")[champ].value=='')
                T'en es sur? je pense pas que
                ("enregistrement")[champ]
                
                soit correct, bon bref,pourais tu me donner l'equivalent de
                this.value
                
                ,c'est pas que je me complique la vie mais j'aimerais bien comprendre comment l'utiliser,il se peut que l'utilisation de
                this
                
                soit impossible dans d'autres cas.A saoir que j'ai essayé tout ca:
                document.getElementById["enregistrement"][login].value
                

                document.getElementById["enregistrement"]elements["login"].value
                

                document.getElementById["enregistrement"].login.value
                

                MERCI D'AVANCE
                • Partager sur Facebook
                • Partager sur Twitter
                  24 février 2010 à 11:38:07

                  Citation : bilou2007

                  if(document.getElementById("enregistrement")[champ].value=='')
                  T'en es sur? je pense pas que

                  ("enregistrement")[champ]
                  

                  soit correct



                  Oui je suis sûr de moi.

                  Si la variable champ est bien une chaîne de caractère contenant le name de l'input, ça fonctionne.

                  (A noter que document.getElementById("enregistrement").elements[champ].value fonctionne aussi... si c'est ça qui te perturbait.)


                  Ensuite, pourquoi tu veux absolument écrire "login" alors que dans ce topic, tu n'as pas mentionné une seule fois, je crois, l'existence d'un champ ayant pour name "login"...
                  Depuis le début on parle de "motDePasse" non ? o_O
                  • Partager sur Facebook
                  • Partager sur Twitter

                  script sur <button>

                  × 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