[AJAX+PHP] Récupérer une liste de checkbox en tableau


dorian53
WRInaute passionné
WRInaute passionné
 
Messages: 2217
Inscription: 10 Avr 2005

[AJAX+PHP] Récupérer une liste de checkbox en tableau

Message le Jeu Avr 26, 2007 15:43

Bonjour,

J'ai un listing de checkbox.

Code: Tout sélectionner
<input type="checkbox" name="droit" />
<input type="checkbox" name="droit" />
<input type="checkbox" name="droit" />
..
Je veux récupérer ce listing sous forme de tableau en PHP.
Comme on pourrait le faire de cette forme.


Code: Tout sélectionner
<input type="checkbox" name="droit[]" />
<input type="checkbox" name="droit[]" />
<input type="checkbox" name="droit[]" />

Après un submit, on aurait $_POST['droit'].

..

J'ai bien mon nombre d'éléments avec le tableau en JS.
Code: Tout sélectionner
document.getElementsByName('droit').length

Mais quand je le transmets de la sorte
Code: Tout sélectionner
xhr.send('tab=' + document.getElementsByName('droit'));

Coté serveur je récupère
Code: Tout sélectionner
print_r($_POST['tab']);

[object HTMLCollection]

Comment puis-je récupérer ce tableau automatiquement coté serveur ?
Edit: je ne veux pas submit mon formulaire en utilisant la méthode classique


Merci.


lupuz
WRInaute discret
WRInaute discret
 
Messages: 213
Inscription: 15 Mar 2006

Message le Jeu Avr 26, 2007 16:52

remplace ton :
Code: Tout sélectionner
xhr.send('tab=' + document.getElementsByName('droit'));

Par un
Code: Tout sélectionner
xhr.send('tab=' + document.getElementsByName('droit').value);


Et pour ne pas avoir a faire de submit... regarde du côté des settimeout avec une fonction pour passer tes "values" en XML.[/code]


dorian53
WRInaute passionné
WRInaute passionné
 
Messages: 2217
Inscription: 10 Avr 2005

Message le Ven Avr 27, 2007 8:28

Salut,

.value ne fonctionne pas, avec var_dump($_POST['tab']); j'ai :

string(9) "undefined"


lupuz
WRInaute discret
WRInaute discret
 
Messages: 213
Inscription: 15 Mar 2006

Message le Ven Avr 27, 2007 8:54

essai de faire une boucle sur tes checkboxs.

for (i=0; i<= document.getElementsByName('droit').length; i+++)
xhr.send('tab[]=' + document.getElementsByName('droit').value);

mais dans le cas ou les checkbox ne sont pas cochées tu n'aurra pas de value.


dorian53
WRInaute passionné
WRInaute passionné
 
Messages: 2217
Inscription: 10 Avr 2005

Message le Ven Avr 27, 2007 8:58

Oui ça certain ça fonctionne :)

Et c'est ce que je fais faire puisque que je ne pense pas qu'il y ait d'autre solution.

Merci


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité