Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/07/2008, 18h15   #1
Invité de passage
 
Inscription : juin 2008
Messages : 9
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 9
Points : 1
Points : 1
Par défaut Tableau de checkbox et manipulation en PHP/Javascript

Bonjour à tous,
j'ai quelques soucis de compréhension sur un script que je fais, avec vérification javascript avant insertion bdd.

voilà un bout d'un formulaire qui s'affiche, avec différentes checkbox qui s'affichent

Code :
1
2
3
4
5
6
7
8
 
<input type='checkbox' name='assoc' value='".$val."'>
<br>
<input type='checkbox' name='assoc' value='".$val."'>
<br>
<input type='checkbox' name='assoc' value='".$val."'>
<br>
<input type='submit' name='valid_final_ajout' class='menu_gris' value='valider' onClick=\"javascript : return valid_ajout_final();\">
je veux checker si il y en a au moins une de valide, donc en javascript je lance cette fonction

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
function valid_ajout_final()
{
	for(var i=0; i<document.menuForm.assoc.length;i++)
	{
		if(document.menuForm.assoc[i].checked==true)
		{
                                var check_ok=1;
                          }
             }
 
             if(!check_ok)
	{
		alert("Vous devez sélectionner au minimum un indicateur   avant de valider");
		return false;
	}else
	{
                     return true;
              }
}
et c'est sur mon script php que le tableau n'est aps reconnu, example duu code
Code :
1
2
3
4
5
6
 
if(isset($_POST["valid_final_ajout"]))
{
     $nb=count($assoc);
     print $nb;
}
Il me ressort une entrée dans mon count, et quand je fais un is_array, il me retourne false ... Comment je peux faire pour que php comprenne qu'il y a un tableau et m'affiche mes résultats correctement ?
merci d'avance à tous ...
loximose est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2008, 18h38   #2
Membre expérimenté
 
Développeur Web
Inscription : avril 2006
Messages : 430
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2006
Messages : 430
Points : 538
Points : 538
Hmm, je vois plusieurs plusieurs problèmes...
1. les checkbox ont toutes le même nom (assoc), si tu veux faire un tableau, il faut le préciser via les []
2. du côté PHP, tu devrais tester la variable $_POST['assoc'] et non $assoc (tout comme tu le fais d'ailleurs pour tester si tu as la variable 'valid_final_ajout' en POST, en fait)

donc, dans le html:

Code :
1
2
3
4
5
6
7
8
 
<input type='checkbox' name='assoc[]' value='".$val."'>
<br>
<input type='checkbox' name='assoc[]' value='".$val."'>
<br>
<input type='checkbox' name='assoc[]' value='".$val."'>
<br>
<input type='submit' name='valid_final_ajout' class='menu_gris' value='valider' onClick=\"javascript : return valid_ajout_final();\">
et dans le PHP

Code :
1
2
3
4
5
6
 
if(isset($_POST["valid_final_ajout"]))
{
     $nb=count($_POST['assoc']);
     print $nb;
}
__________________
Merci à Microsoft pour avoir transformé un métier relativement terne et basé sur une approche bêtement technique et rigoureuse des faits, en challenge quotidien, nécessitant une remise en question permanente à l'échelle du quart d'heure
bkill est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2008, 18h42   #3
Invité de passage
 
Inscription : juin 2008
Messages : 9
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 9
Points : 1
Points : 1
merci pour ta réponse.

Effectivement, si je met les crochets le php fonctionne, mais plus le javascript ....
Pour le $_POST je l'ai oublié dans l'exemple
loximose est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2008, 18h50   #4
Invité de passage
 
Inscription : juin 2008
Messages : 9
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 9
Points : 1
Points : 1
J'ai pu résoudre mon problème, en passant dans le javascript par
document.menuForm["assoc[]"]
au lieu de
document.menuForm.assoc


merci encore !
loximose est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h04.


 
 
 
 
Partenaires

Hébergement Web