Bonjour à tous,

J'ai eu du mal à trouver un nom pour mon sujet, je pense qu'il n'est pas très pertinent... voici mon problème :
Je dois débugger un code PHP + JS. En fait, j'ai une liste de checkboxes créées dynamiquement en PHP :
Voici le code source :
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
19
20
21
22
23
24
25
 
<tr>
  <td width="27">
    <input type="checkbox" name="cased[]" value="7" onClick="calcul_prix()">
    <input type="hidden" name="prixOpt" value="350.00">
    <input type="hidden" name="nomOpt1" value="350.00">
  </td>
<td width="151">radio cd 2x15W</td>
<td width="208" class="txt1">350.00&nbsp;€</td>
</tr>
<tr valign="top">
  <td width="27">
    <input type="checkbox" name="cased[]" value="1" onClick="calcul_prix()">
    <input type="hidden" name="prixOpt" value="450.00">
    <input type="hidden" name="nomOpt2" value="450.00">
  </td>
  <td width="151">jantes alu 15 mahonia</td>
  <td width="208" class="txt1">450.00&nbsp;€</td>
</tr>
<tr valign="top">
  <td width="27">
    <input type="checkbox" name="cased[]" value="2" onClick="calcul_prix()">
    <input type="hidden" name="prixOpt" value="900.00">
    <input type="hidden" name="nomOpt3" value="900.00">
  </td>
Avec cela, j'ai un JS (qui ne fonctionne pas donc, qui doit compter le nombre de checkbox, vérifier si elles sont cochées, puis incrémenter éventuellement un montant. Voici ce code :

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
19
20
21
function calcul_prix() {		
  var px = 0;
  px = <?= $vehicule['prix_leader'] ?>;
  for (var i = 0; i < document.getElementsByName('cased[]').length; i++) {
    if (document.forms.marque.cased[].checked == true) {
      alert('test');
      px = parseFloat(px) + parseFloat(document.marque.prixOpt[i].value);
    }
  }
  for (var j = 0; j < document.marque.couleur.length ; j++) {
    if (document.marque.couleur[j].checked == true) {
      px = parseFloat(px) + parseFloat(document.marque.prixCouleur[j].value);
    }
  }
  if (px != 0) {
    parent.document.getElementById("prixAff").innerHTML = "Total avec options :"+eval(px)+" &euro;<br>";
  }
  else {
    parent.document.getElementById("prixAff").innerHTML = "";
  }
}
La particularité est que le nom des checkboxes est "cased[]". Ce nom ne peut pas être changé car il est utilisé sur la page appelante du formulaire, mais je ne vois pas comment récupérer cette valeur cochée ici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
document.forms.marque.cased[].checked == true
Code : Sélectionner tout - Visualiser dans une fenêtre à part
document.getElementsByName('cased[]').checked
Je n'en peux plus, ça ne fonctionne pas!!!

PX : pour les couleurs (le reste du code JS) cela fonctionne)