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 :
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.
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]))),'%_'); } } }
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 :
Même si cela ne perturbe pas le fonctionnement de la fonction, j'aimerai savoir pourquoi cette chaîne vide apparaît.Avertissement*: Une chaîne vide a été transmise à getElementById().
Erreur*: document.getElementById("") is null
Ps: quand je mets la fonction dans la page du formulaire aucune chaîne vide n'est transmise.
Merci beaucoup pour votre réponse
Partager