Bonsoir,
J'ai un script php qui génère un formulaire. Un onSubmit sur ce formulaire déclanche une fonction javascript qui est celle là:
mon script php:
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 function affecter(logiciel, nbrCheckbox) { var commentaire = $('#form_affectation').find("input[name=commentaire]").val(); var version = $('#form_affectation').find("input[name=version]").val(); var nbrCheckbox = nbrCheckbox; for(i=1 ; i <= nbrCheckbox ; i++) { var currentCheckbox = document.getElementById("salle_" + i); if(currentCheckbox.checked) { window[currentCheckbox] = document.getElementById("salle_" + i).value alert(currentCheckbox.name + " est coché et son id est " + window[currentCheckbox] ); } } }
Désolé mon code est un peu longt (et encore je l'ai simplifié ).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 ... $nbr_salles = mysql_num_rows($result); $numCheckbox =0; $echo .= "<form id='form_affectation' onsubmit='affecter($id_logiciel, $nbr_salles); vider_div(\"tableau_logiciels_salles\"); return false;'>"; $echo .= "Version logiciel : <input type='text' name='version' size=30>"; $echo .= "Commentaire : <input type='text' name='commentaire' size=30>"; while ($res=mysql_fetch_array($result)) { $numCheckbox++; $echo .= "<input type=checkbox name='salle-".$res['numSalle']."' id='salle_".$numCheckbox."' value=".$res['idSalle']." />".$res['numSalle']." (".$res['nomSite'].")<br>"; } $echo .= "<input type='submit' value='Afficher'>"; $echo .= "</form>";
Ah oui et aussi, j'ai lu qu'il ne fallait pas mettre de php, mais je l'ai mis quand meme pour que vous compreniez d'ou vient l'id de mes checkbox et mon paramètre nbrCheckbox
Pour l'instant ma fonction affecter() ne fait que des alert() et ça marche. Par exemple si je coche 4 checkbox alert j'ai 4 alert() qui s'exécute à la suite indiquant l'id du checkbox et l'id de la salle (pour ma base de donné).
Maintenant ce que j'aimerais c'est utiliser le $post en ajax pour pouvoir passer les id des salles que l'on a coché dans une page php qui exécutera une requète. Et là c'est la catastrophe, j'ai appris qu'on ne pouvait pas passer de tableau !!!
Alors ma question est simple : comment faire?
(Question simple -> réponse difficile)
J'ai essayé pleins de trucs qui n'ont pas marché dont ça :
Bon là c'était évident que ça n'allait pas marché mais on sait jamais
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 affecter(logiciel, nbrCheckbox) { var commentaire = $('#form_affectation').find("input[name=commentaire]").val(); var version = $('#form_affectation').find("input[name=version]").val(); var nbrCheckbox = nbrCheckbox; for(i=1 ; i <= nbrCheckbox ; i++) { var currentCheckbox = document.getElementById("salle_" + i); if(currentCheckbox.checked) { window[currentCheckbox] = document.getElementById("salle_" + i).value alert(currentCheckbox.name + " est coché et son id est " + window[currentCheckbox] ); $.post("jQuery/affecter.php", {id_logiciel: id_logiciel, currentCheckbox: window[currentCheckbox] }, function success(data){ alert("ça marche"); }); } } }
Donc voilà si quelqu'un veut bien se pencher sur mon cas je serais très heureux...
merci d'avance ++
Partager