[PHP] Vérifier un champ avant de valider

Résolu
Bonjour,
Un développement particulier m'amène à générer par boucle php "n" input de type "text" selon le souhait.
ex : Internaute tape 4, et dans la page suivante 4 input sont générés.

Comment vérifier de façon dynamique en javascript que les "n" inputs générés sont bien remplis ?

Merci à vous
Configuration: windows

6 réponses

  1. Heu, peut être en récupérant la liste des champs input du formulaire en passant par un getElementsByTagName, puis en vérifiant chaque valeur du tableau ainsi récupéré
    0
    1. Je pense comprendre ce que tu veux dire.
      Je fais déjà des recherches sur la base de ce que tu m'indiques (getElementsByTagName)
      En PHP je me retrouve avec ça, tu ferais quoi toi ?

      echo"<table boder = 0>";
      for($j=1; $j <= $nb_part; $j++){ //Debut de FOR
      echo("<tr>");
      echo("<td><input disabled name='".$j."' value='".$j."' size='2'/></td>");
      echo("<td><input type='text' name='membre_".$j."' id='membre_1' size='32'/></td>");
      echo("</tr>");
      }
      echo"</table>";

      Ensuite je fais un Insert en base via une boucle pour chaque valeur de $i.

      J'aimerais trouver un moyen de bloquer tant que les "n" champs requis ne sont pas remplis.
      Je continuer à chercher

      Merci
      0
      1. <script type="text/javascript">
        //on va donner dynamiquement a JS le nombre de champs dans la variable globale n
        var n=<?php echo $nb_part; ?>;
        //fonction verif
        function verif_champs(){	
        	for(i=1;i<=n;i++){
        		//on atteint l'input par son id
        		var obj=document.getElementById(i);
        		if(obj.value=""){
        			//si au moins un des cahmps est vide on quite la fonction en renvoyant false
        			return false;
        		}
        	}
         return true;
        }
        </script>
        <form name="form1" method="post" action="ton_script.php" onSubmit="return verif_champs();">
        ainsi si on a un return false le formulaire ne part pas
        <?php
        echo"<table boder = 0>";
        for($j=1; $j <= $nb_part; $j++){ //Debut de FOR
        echo("<tr>");
        echo("<td><input disabled name='".$j."' value='".$j."' size='2'/></td>");
        echo("<td><input type='text' name='membre_".$j."' id='".$j."' size='32'/></td>");
        echo("</tr>");
        }
        echo"</table>";
        //attention mets bien ton id=$j comme ci dessus
        ?>
        0
        1. Hey bien, merci pour cette grande leçon.
          J'apprends encore plus avec cet exemple. Je voyais bien un truc du genre mais comment l'organiser...
          J'aurai certainement trouvé un bricolage. Super sympa vraiment pour ça..

          A bientot :)
          0
          1. ok, mais a la relecture je viens de me rendre compte d'une belle erreur dans mon script:

            if(obj.value="")

            if(obj.value=="")
            0
            1. ouoi oui j'avais corrigé.
              Je te suis reconnaissant de m'avoir aidé.
              J'avais d'autres interventions à faire en passant par .js. J'ai bien appris là

              merci
              0