Bonjour
Si vous trouvez un meilleur titre, n'hésitez pas ...

page formulaire :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
$formulaire =  array("jour" => "validation_date_rencontre","mois"=>"validation_date_rencontre");
$from = "rempli";
VerifremplissageChamps($formulaire,$from);

page fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function VerifremplissageChamps($formulaire,$from)
{
	foreach ($formulaire as $champ =>$validation)
			{	
				if( (!isset($_POST[$champ]) || empty($_POST[$champ])) && $from == "rempli" )
				{
					global $erreur;
					array_push($erreur, "<script type=\"text/javascript\">document.getElementById('".$validation."').innerHTML += 'champ à remplir'</script>");
				}
				else
				{
					global $field;
					global $$champ;
					array_push($field, "<script type=\"text/javascript\">document.getElementById('".$champ."').value = '".$_POST[$champ]."'</script>");
					$$champ = addcslashes(mysql_real_escape_string(ucwords(strtolower ($_POST[$champ]))),'%_');
				}
			}
}
Explications : j'ai recensé les champs de mon formulaire dans un array ($formulaire) pour vérifier s'ils sont vides ou pas, grâce à ma fonction. S'il y a en a un qui l'est, un message d'erreur est transmis, sinon le champ saisi est conservé dans un tableau $field.
La fonction ... fonctionne sauf qu'il transmet en plus des erreurs et des champs remplis, une chaine vide supplémentaire à la fin.

Je site le validateur :
Avertissement*: Une chaîne vide a été transmise à getElementById().
Erreur*: document.getElementById("") is null
Même si cela ne perturbe pas le fonctionnement de la fonction, j'aimerai savoir pourquoi cette chaîne vide apparaît.

Ps: quand je mets la fonction dans la page du formulaire aucune chaîne vide n'est transmise.

Merci beaucoup pour votre réponse