[PHP] Vérifier un champ avant de valider

Résolu
moderno31 Messages postés 872 Date d'inscription   Statut Membre Dernière intervention   -  
moderno31 Messages postés 872 Date d'inscription   Statut Membre Dernière intervention   -
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

6 réponses

jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
 
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
moderno31 Messages postés 872 Date d'inscription   Statut Membre Dernière intervention   92
 
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
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
<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
moderno31 Messages postés 872 Date d'inscription   Statut Membre Dernière intervention   92
 
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
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
moderno31 Messages postés 872 Date d'inscription   Statut Membre Dernière intervention   92
 
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