Partage
  • Partager sur Facebook
  • Partager sur Twitter

Changer couleur quand champ vide

Sujet résolu
    6 juin 2010 à 18:18:26

    Bonjour,

    J'ai essayé de programmer un petit truc pour que mon champ soit rouge quand il est vide, mais ça ne fonctionne pas.
    Je pense qu'il y a une petite erreur qqpart.

    Voici mon code :
    <script type="text/javascript">
    function verifdonjon(champ)
    {
       if(champ.value == "")
       {
          surligne(champ, true);
          return false;
       }
       else
       {
          surligne(champ, false);
          return true;
       }
       function surligne(champ, erreur)
    {
       if(erreur)
          champ.style.backgroundColor = "#ff0000";
       else
          champ.style.backgroundColor = "#00fc00";
    }
    

    Et voici le champ en question :
    <form action="rediger_donjon2.php" method="post">
    Nom du donjon : <input type="text" size="30" name="donjon_name" value="" id="donjon_name" onblur="verifdonjon(this)" /><span style="color:red">*</span><br/></form>
    


    Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
      6 juin 2010 à 18:44:28

      Il n'y a à priori aucune raison pour que ça ne marche pas (ou je l'ai raté..), tu pourrais nous donner une url vers ta page ?
      • Partager sur Facebook
      • Partager sur Twitter
        6 juin 2010 à 21:25:14

        salut
        tu as oublier de fermer les accolades pour la première fonction:
        <script type="text/javascript">
        function verifdonjon(champ)
        {
           if(champ.value == ""){
              surligne(champ, true);
              return false;
           }
           else{
              surligne(champ, false);
              return true;
           }
        }
           function surligne(champ, erreur)
        {
           if(erreur){
              champ.style.backgroundColor = "#ff0000";
           }	
           else{
              champ.style.backgroundColor = "#00fc00";
           }	
        }
        </script>
        
        • Partager sur Facebook
        • Partager sur Twitter
        deux choses sont infinies: l'univers et la bêtise humaine. Mais en ce qui concerne l'univers, je n'en ai pas encore acquis la certitude absolue. A.E
          10 juin 2010 à 18:15:20

          Merci, effectivement la fonction n'était pas fermée.
          J'ai corrigé mais ça ne fonctionne toujours pas...Je vais mettre le code de la page en entier, peut-être il y a une erreur ailleurs :/
          <script type="text/javascript">
          function verifdonjon(champ)
          {
             if(champ.value == "")
             {
                surligne(champ, true);
                return false;
             }
             else
             {
                surligne(champ, false);
                return true;
             }
           }
             function surligne(champ, erreur)
          {
             if(erreur)
                champ.style.backgroundColor = "#ff0000";
             else
                champ.style.backgroundColor = "#00fc00";
          }
          
          function verifForm(f)
          {
             var pseudoOk = verifPseudo(f.pseudo);
             var mailOk = verifMail(f.mail);
             var mailOkk = verifMail(f.mail_verif);
             var mdpok = verifMdp(f.mdp);
             var mmdpokk = verifMdp(f.mdp_verif);
             
             if(pseudoOk && mailOk && mailOkk && mdpok &&mdpokk)
                return true;
             else
             {
                alert("Veuillez remplir correctement tous les champs.");
                return false;
             }
             </script>
          	 <h1>Créer nouveau donjon</h1>
          	<p> Pour faciliter la création d'un donjon, merci de remplir un maximum de ces champs. Les champs avec une étoile <span style="color:red">*</span>.<br/></p>
          <form action="rediger_donjon2.php" method="post">
          	<p>Votre pseudo : <input type="text" size="30" name="pseudo" value="" id="pseudo" /><br/>
          Nom du donjon : <input type="text" size="30" name="donjon_name" value="" id="donjon" onblur="verifdonjon(this)" /><span style="color:red">*</span><br/>
          Nombre de salles (en cas de salles spéciales qui demandent quelque chose d'autre que d'affronter le groupe de monstre, écrire sous la forme "8 + 1"): <br/>
          <input type="text" size="30" name="nb_salles" id="nb_salles" value="" /><br/>
          Coordonées de l'entrée : <input type="text" size="30" name="pos" id="pos" value="" onblur="verifpos(this)"/><span style="color:red">*</span><br/>
          Nom de la zone : <input type="text" size="30" name="zone" id="zone" value="" onblur="verifzone(this)" /><span style="color:red">*</span><br/>
          Niveau de la pierre d'âme requise (si taille variable, préciser) : <input type="text" size="30" name="pierre_ame" id="pierre_ame" value="" /><br/>
          Niveau du groupe conseillé (phrase courte) : <input type="text" size="30" name="lv_conseille" id="lv_conseille" value="" /><br/>
          Nom du boss (si pas de boss, marquer "-") : <input type="text" size="30" name="boss_name"  id="boss_name" value="" onblur="verifboss(this)" /><span style="color:red">*</span><br/>
          Divers (points particuliers du donjon, pour chaque aspect différents, mettre à la ligne et insérer un tiret.) : <br/>
          <textarea type="textarea" cols="50" rows="10" name="divers" id="divers" value="" /></textarea><br/>
          <input type="submit" value="Valider"/>
          </p>
          
          </form>
          


          J'ai pas mis les fonctions pour les autres champs, c'est juste le début, je viens de commencer à coder la page (et ça commence mal)
          • Partager sur Facebook
          • Partager sur Twitter
            10 juin 2010 à 19:02:12

            salut pour que la fonction verifdonjon s'applique à tous les inputs, il faut, je pense mettre: onblur="verifdonjon(this)"
            à tout les inputs, dans l'état actuel, ça marche mais uniquement pour l'input Nom du donjon.
            sinon tu as des fonctions: verifpos() et verifzone() ( respectivement pour les champs: Coordonées de l'entrée et Nom de la zone ) qui ne sont pas définis dans ton scripte.
            aussi n'oublie pas de fermer les accolades de la fonction verifForm(f)
            • Partager sur Facebook
            • Partager sur Twitter
            deux choses sont infinies: l'univers et la bêtise humaine. Mais en ce qui concerne l'univers, je n'en ai pas encore acquis la certitude absolue. A.E
              11 juin 2010 à 15:28:08

              Merci, il me manquait l'accolade, c'est que qui bugait tout mon code. Pour le reste, c'est normal parce que je n'ai pas encore fait le code ^^
              • Partager sur Facebook
              • Partager sur Twitter

              Changer couleur quand champ vide

              × 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