Forum Clubic

Récuper valeur checkbox avec comme nom "xx"

Bonjour, voici mon probleme …

j’ai un tableau html avec des checkbox pour chaque celulle. chaque checkbox est nommée avec [] à la fin pour récupérer les valeurs dans un array PHP.

<td class="filmSemSelect"><input name="film[]" type="checkbox" value="1" /></td> <td class="filmSemSelect"><input name="film[]" type="checkbox" value="2" /></td> <td class="filmSemSelect"><input name="film[]" type="checkbox" value="3" /></td> <td class="filmSemSelect"><input name="film[]" type="checkbox" value="4" /></td>

Le truc c’est que je veux check en javascript, avant de lancer le submit, le nombre de checkbox cochées car je veux obliger à cocher 2 checkbox et seulement 2,et le cas échéant, mettre un message d’erreur et ne pas envoyer le submit.

Mon probleme donc … c’est que je ne sais pas comment accéder à l’array “film[]” en javascript pour compter le nombre d’élément coché. J’y arrive si je renomme film[] en film tout court … mais apres j’ai plus de array en PHP :wink:

J’espere bien m’etre fait comprendre et que qq me donnera une réponse rapide… il aura toute ma gratitude :)))
Edité le 10/10/2008 à 15:09

C’est normal. Tes cases à cocher ne sont pas dans un groupe (ce qui n’est pas possible en html4 je te rassure).

Avec cet événement :

onsubmit="check(this);"
function check(form) {
  for (var i = 0; i < form.elements.length; ++i) {
    if (form.elements[i].name == "film[]" ) {...}
  }
}

alors je donne la solution que j’ai eu sur un autre forum …

function verifCheck(){
	var MesCheckBox =  document.forms['formulaire'].elements['film[]'];
	var CheckBoxCoche = new Array();
 
	//On boucle sur le tableau de checkbox
	for(var i=0 , l=MesCheckBox.length ; i < l ; i++){
		//On vérifit si coché , si oui on ajoute
		if(MesCheckBox[i].checked){CheckBoxCoche.push(MesCheckBox[i]);}
	}
	alert("il y a  : "+CheckBoxCoche.length + " checkbox cochées");
}