$post comment faire passer mes variables?
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à:
Code:
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] );
}
}
} |
mon script php:
Code:
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>"; |
Désolé mon code est un peu longt (et encore je l'ai simplifié ).
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 :
Code:
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");
});
}
}
} |
Bon là c'était évident que ça n'allait pas marché mais on sait jamais:)
Donc voilà si quelqu'un veut bien se pencher sur mon cas je serais très heureux...
merci d'avance ++