Help!!!! controle de saisie difficile

Bonsoir,

Je fais un formulaire en html/php avec des controles de saisie en javascript (avec un fonction). Cependant cela ne marche pas, je ne comprend, je ne vois d'ou cela peut venir.

Voici le script javascript:

<script type="text/javascript">

function verifForm()
{
if (document.getElementById('collection').value == "" )
{
alert('La collection est non rempli !');
return false;
}

if (document.getElementById('nomBijoux').value == "" )
{
alert('Le nom du bijou est non rempli !');
return false;
}

if (document.getElementById('type').value == "" )
{
alert('Le type du bijou est non rempli !');
return false;
}

if (document.getElementById('libBijoux').value == "" )
{
alert('Le libelle du bijou est non rempli !');
return false;
}

if (document.getElementById('matiere').value == "" )
{
alert('La matiere du bijou est non rempli !');
return false;
}
if (document.getElementById('longueur').value == "" )
{
alert('La longueur du bijou est non rempli !');
return false;
}

if (document.getElementById('poids').value == "" )
{
alert('Le poids du bijou est non rempli !');
return false;
}

if (document.getElementById('saison').value == "" )
{
alert('La saison du bijou est non rempli !');
return false;
}

if (document.getElementById('annee1').value == "" )
{
alert('La première année du bijou est non rempli !');
return false;
}

if (document.getElementById('annee2').value == "" )
{
alert('La deuxième annee du bijou est non rempli !');
return false;
}
if (document.getElementById('photo1').value == "" )
{
alert('La première photo du bijou est non rempli !');
return false;
}
if (document.getElementById('photo2').value == "" )
{
alert('La deuxième photo du bijou est non rempli !');
return false;
}

if (document.getElementById('prixHT').value == "" )
{
alert('Le prix du bijou est non rempli !');
return false;
}

if (document.getElementById('enLigne').value == "" )
{
alert('L''état du bijou est non rempli !');
return false;
}
document.getElementById("fo" ).submit();
}

</script>
</head>

voici l'extrait de code interresser par la fonction:

<div id="pied_page">
<TABLE><!-- les boutons!-->
<p align="center"><input type="submit" value="ENREGISTRER" onClick="javascript:void(verifForm())"></font>
<p align="center"><input type="reset" value="EFFACER"></font>
<p align="center"><input type="button" id="valid" value="RETOUR" onclick="history.go(-1)"></p>
</TABLE>

Merci pour votre aide.
Configuration: Windows XP
Firefox 3.0.10

12 réponses

  • Votes
  • Date
  • Date décroissante
  1. bonsoir,

    est - tu sur, que chacun de tes champs on un "Id' ou un "name"??

    Dans le cas ou c'est des name, c'est getElementByName('')
    1. je ne comprend pas, ça ne marche pas. Que ce soit avec le 'name' ou le 'id'. Je ne sais pas quoi faire.

      Merci pour votre aide
      1. AH MAIS NON je suis bete

        déja tu peux pas associer un évenement ONCLICK a input type="SUBMIT"

        Commence par remplacer le bouton ENREGISTRER par input type = "button"
        1. non, ça ne marche pas, le bouton n'exécute pas son action.

          voici un bout de code html sur le champs de je teste:

          <TR><!-- champs nom!-->
          <TD><font color="white"><B>Nom bijou *</B></font></TD>
          <TD><INPUT type="text" name="nomBijoux" id="nomBijoux" maxlength="20"></TD>

          </TR>

          Merci pour ton aide
          1. Re t'en ai fait un qui fonctionne bien inspire toi en.

            <html>
            <head>
            <script type="text/javascript">
            function verifForm()
            {
            //je récupère le contenu du champ "nomBijoux dans une variable"
            var variable = document.formulaire.nomBijoux.value

            if (variable == "")
            alert(" Le nom du bijou n'est pas rempli")
            }
            </script>
            </head>
            <body>
            <form name="formulaire">
            <TR><!-- champs nom!-->
            <TD><font color="blue"><B>Nom bijou *</B></font></TD>
            <TD><INPUT type="text" name="nomBijoux" maxlength="20"></TD>
            </TR>
            <div id="pied_page">
            <TABLE><!-- les boutons!-->
            <p align="center"><input type="button" value="ENREGISTRER" onClick="verifForm()"></font>
            <p align="center"><input type="reset" value="EFFACER"></font>
            <p align="center"><input type="button" id="valid" value="RETOUR" onclick="history.go(-1)"></p>
            </TABLE>
            </div>
            </form>
            </body>
            </html>
            1. ok, merci.

              Je vais le tester.
              Comment je fais si j'ai des listes déroulantes et chekbox.
              1. C'est le meme principe,

                Pour le checkbox ta juste a remplacer par:

                <input type = "checkbox" name="ce que tu veux*">

                Dans ton script récupére le nom dans une variable et teste si == "" alors alert('Message d'erreur');

                Pour la liste déroulante c'est un peu plus délicat :

                <select name="nomListdéroulante">

                <script>
                function verifForm()
                {
                var controle = document.nomduformulaire.nomListdéroulante.selectedIndex;

                et tu teste

                if (controle == "")
                {
                alert("Veuillez choisir un choix");
                }
                </script>
                1. ça ne marche pas. Mon bouton "enregistrer" n'effectu pas l'action souhaitée.

                  Voici mon script javascript:

                  function verifForm()
                  {
                  //je récupère le contenu des champs dans les différentes variables
                  var varName = document.formulaireBijoux.nomBijoux.value
                  var varCollection = document.formulaireBijoux.collection.selectedIndex
                  var varType = document.formulaireBijoux.type.selectedIndex
                  var varMatiere = document.formulaireBijoux.matiere.selectedIndex
                  var varLibBijou = document.formulaireBijoux.libBijoux.value
                  var varLongueur = document.formulaireBijoux.longueur.value
                  var varPoids = document.formulaireBijoux.poids.value
                  var varAnnee1 = document.formulaireBijoux.annee1.value
                  var varAnnee2 = document.formulaireBijoux.annee2.value
                  var varPhoto1 = document.formulaireBijoux.photo1.value
                  var varPhoto2 = document.formulaireBijoux.photo2.value
                  var varPrixHT = document.formulaireBijoux.prixHT.value
                  var varSaison = document.formulaireBijoux.saison.value
                  var varEnLigne = document.formulaireBijoux.enLigne.checked

                  if (varCollection == "")
                  alert(" La collection du bijou n'est pas rempli")

                  if (varName == "")
                  alert(" Le nom du bijou n'est pas rempli")

                  if (varType == "")
                  alert(" Le type du bijou n'est pas rempli")

                  if (varMatiere == "")
                  alert(" La matière du bijou n'est pas rempli")

                  if (varLibBijou == "")
                  alert(" La description du bijou n'est pas rempli")

                  if (varLongueur == "")
                  alert(" La longueur du bijou n'est pas rempli")

                  if (varPoids == "")
                  alert(" Le poids du bijou n'est pas rempli")

                  if (varAnnee1 == "")
                  alert(" La première année du bijou n'est pas rempli")

                  if (varPhoto1 == "")
                  alert(" La première photo du bijou n'est pas rempli")

                  if (varPhoto2 == "")
                  alert(" La deucième photo du bijou n'est pas rempli")

                  if (varPrixHT == "")
                  alert(" Le prix HT du bijou n'est pas rempli")

                  if (varSaison == "")
                  alert(" La saison du bijou n'est pas rempli")
                  else
                  if (varSaison == "Automne/Hiver")
                  {
                  if (varAnnee2 == "")
                  alert(" La deuxième année du bijou n'est pas rempli")
                  }
                  if (varEnLigne == "")
                  alert(" L'état du bijou n'est pas rempli")
                  }

                  </script>

                  Merci pour votre aide
                  1. tu as écrit le code tel que tu la mis la???

                    si oui, il te manques beaucoup de crochets

                    par exemple :

                    if (varCollection == "") {
                    alert(" La collection du bijou n'est pas rempli") ;
                    }
                    1. Non, ça ne marche pas.

                      Je te donne des extraits de html:

                      Avant le formulaire:
                      <form name="formulaireBijoux" method="post" action="envoiBijoux.php" onsubmit="verifForm()">

                      Au niveau du bouton "enregistrer":
                      <p align="center"><input type="button" value="ENREGISTRER" onClick="verifForm()"></font>

                      Merci de votre aide
                      1. ma dernière version qui ne marche pas:

                        function verifForm()
                        {
                        //je récupère le contenu des champs dans les différentes variables
                        var varCollection = document.formulaireBijoux.collection.selectedIndex
                        var varName = document.formulaireBijoux.nomBijoux.value
                        var varType = document.formulaireBijoux.type.selectedIndex
                        var varMatiere = document.formulaireBijoux.matiere.selectedIndex
                        var varLibBijou = document.formulaireBijoux.libBijoux.value
                        var varLongueur = document.formulaireBijoux.longueur.value
                        var varPoids = document.formulaireBijoux.poids.value
                        var varAnnee1 = document.formulaireBijoux.annee1.value
                        var varAnnee2 = document.formulaireBijoux.annee2.value
                        var varPhoto1 = document.formulaireBijoux.photo1.value
                        var varPhoto2 = document.formulaireBijoux.photo2.value
                        var varPrixHT = document.formulaireBijoux.prixHT.value
                        var varSaison = document.formulaireBijoux.saison.value
                        var varEnLigne = document.formulaireBijoux.enLigne.value

                        if (varCollection == "")
                        {
                        alert(" La collection du bijou n'est pas rempli")
                        }

                        if (varName == "")
                        {
                        alert(" Le nom du bijou n'est pas rempli")
                        }

                        if (varType == "")
                        {
                        alert(" Le type du bijou n'est pas rempli")
                        }

                        if (varMatiere == "")
                        {
                        alert(" La matière du bijou n'est pas rempli")
                        }

                        if (varLibBijou == "")
                        {
                        alert(" La description du bijou n'est pas rempli")
                        }

                        if (varLongueur == "")
                        {
                        alert(" La longueur du bijou n'est pas rempli")
                        }

                        if (varPoids == "")
                        {
                        alert(" Le poids du bijou n'est pas rempli")
                        }

                        if (varAnnee1 == "")
                        {
                        alert(" La première année du bijou n'est pas rempli")
                        }

                        if (varPhoto1 == "")
                        {
                        alert(" La première photo du bijou n'est pas rempli")
                        }

                        if (varPhoto2 == "")
                        {
                        alert(" La deucième photo du bijou n'est pas rempli")
                        }

                        if (varPrixHT == "")
                        {
                        alert(" Le prix HT du bijou n'est pas rempli")
                        }

                        if (varSaison == "")
                        {
                        alert(" La saison du bijou n'est pas rempli")
                        }

                        else
                        if ((varSaison == "Automne/Hiver") && (varAnnee2 == ""))
                        {
                        alert(" La deuxième année du bijou n'est pas rempli")
                        }
                        if (varEnLigne == "")
                        {
                        alert(" L'état du bijou n'est pas rempli")
                        }
                        }
                        </script>

                        </head>
                        1. <html>
                          <head>
                          <script type="text/javascript">
                          function verifForm()
                          {
                          var varName = document.formulaireBijoux.nomBijoux.value;
                          var varCollection = document.formulaireBijoux.collection.selectedIndex;
                          var varType = document.formulaireBijoux.type.selectedIndex;
                          var varMatiere = document.formulaireBijoux.matiere.selectedIndex;
                          var varLibBijoux = document.formulaireBijoux.LibBijoux.value;
                          var varLongueur = document.formulaireBijoux.longueur.value;
                          var varPoids = document.formulaireBijoux.poids.value;
                          var varAnnee1 = document.formulaireBijoux.annee1.value;
                          var varPhoto1 = document.formulaireBijoux.photo1.value;
                          var varAnnee2 = document.formulaireBijoux.annee2.value;
                          var varPhoto2 = document.formulaireBijoux.photo2.value;
                          var varPrixHT = document.formulaireBijoux.prixHT.value;
                          var varSaison = document.formulaireBijoux.saison.value;
                          var varEnLigne = document.getElementById("enLigne").checked

                          if ( varName == '') {
                          alert("Le nom du bijou n'est pas rempli");
                          }

                          if ( varCollection == 0 ) {
                          alert(" La collection du bijou n'est pas rempli");
                          }

                          if ( varType == 0 ) {
                          alert(" Le Type du bijou n'est pas choisi");
                          }

                          if ( varMatiere == 0 ) {
                          alert(" La matière du bijou n'est pas choisie");
                          }

                          if ( varLibBijoux == '') {
                          alert("Le libellé du bijou n'est pas rempli");
                          }

                          if ( varLongueur == '') {
                          alert("La longueur du bijou n'est pas remplie");
                          }

                          if ( varPoids == '') {
                          alert("Le poids du bijou n'est pas renseigné");
                          }

                          if ( varAnnee1 == '') {
                          alert("La première année du bijou n'est pas remplie");
                          }

                          if ( varPhoto1 == '') {
                          alert("La première photo du bijou n'est pas remplie");
                          }

                          if ( varPhoto2 == '') {
                          alert("La deuxième photo du bijou n'est pas remplie");
                          }

                          if ( varPrixHT == '') {
                          alert("Le prix HT du bijou n'est pas rempli");
                          }

                          if ( varSaison == False ) {
                          alert("La saison du bijou n'est pas rempli");
                          }
                          else
                          {
                          varSaison == 'Automne/Hiver' //je sais pas ce que ta voulu faire mais tu mettra ce que tu veux
                          }

                          if ( varAnnee2 == '') {
                          alert("La deuxième année du bijou n'est pas rempli");
                          }

                          if ( varEnLigne == false ) {
                          alert(" L'état du bijou n'est pas rempli");
                          }

                          }
                          </script>
                          </head>
                          <body>
                          <form name="formulaireBijoux" method="post" action="envoiBijoux.php">

                          Nom Bijou :<input type="text" name="nomBijoux"><br/><br/>
                          Collection : <select name="collection">
                          <option value="0">Selectionnez</option>
                          </select><br/><br/>
                          Type : <select name="type">
                          <option value="0">Selectionnez</option>
                          </select><br/><br/>
                          Matière : <select name="matiere">
                          <option value="0">Selectionnez</option>
                          </select><br/><br/>
                          Libellé Bijou : <input type="text" name="LibBijoux"><br/><br/>
                          Longueur :<input type="text" name="longueur"><br/><br/>
                          Poids : <input type="text" name="poids"><br/><br/>
                          Année 1 :<input type="text" name="annee1"><br/><br/>
                          Année 2 :<input type="text" name="annee2"><br/><br/>
                          Photo 1 :<input type="text" name="photo1"><br/><br/>
                          Photo 2 :<input type="text" name="photo2"><br/><br/>
                          Prix HT :<input type="text" name="prixHT"><br/><br/>
                          Saison : <input type="text" name="saison"><br/><br/>
                          En Ligne : <input type="checkbox" id="enLigne" value="En Ligne" ><br/><br/>

                          <input type="button" Value="Envoyer" onclick="verifForm()">

                          </form>
                          </body>
                          </html>