Bonjour,
Tout d'abord merci par avance pour vos réponses, j'espère que vous serez nombreux à m'aider.
J'ai un fichier resultat.php qui affiche deux tableaux dans lesquels nous avons des variables float.
J'ai 10 cellules (dans des div) qui proposent une liste déroulante. En fonction du choix sélectionné, nous obtenons un score dans une autre cellule, calculé grâce à une fonction jvscript.
Voila le code de la cellule qui affiche la liste déroulante :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 echo "<td class='celda_pequenya_2'>"; echo "<select class='select2' id='d48' onchange='baremos(this,notad48)'>"; echo "<option selected='selected' value='-1'>Elija un baremo</option>"; for ($i=0;$i<count($niveles_d48);$i++){ echo "<option value=$i>".$niveles_d48[$i]."</option>"; } echo "</select>"; echo "</td>";
Et voila la fonction JavaScript qu'elle appelle :
Code javascript : 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 <script language="javascript"> function baremos(desplegable,nota) { var nombre_celda = "nota"+desplegable.id ; var nivel = desplegable.value; var celda = document.getElementById(nombre_celda); if (nivel!=-1){ celda.innerHTML = nota[nivel]; }else{ celda.innerHTML =''; } } </script>
De ce fichier resultat.php, je génère un PDF grâce à la méthode PhpToPdf. Pas de souci, mon PDF apparaît correctement.
Néanmoins, je n'ai pas trouvé le moyen de récupérer la valeur sélectionnée dans la liste déroulante et la valeur calculée, car vous le savez, le code php est exécuté avant le code jvscript.
Je me suis donc dit que la meilleure méthode pour récupérer ces valeurs étaient d'utiliser AJAX. Je suis un peu novice mais j'ai lu pas mal de tuto... Mais... Je ne suis pas sûre de ce que je fais et j'aurai besoin des lumières de quelqu'un...
J'ai essayé d'adapter un code pour ce faire, mais étant donné que ma fonction jvscript peut être appelée plusieurs fois, je ne sais pas comment gérer cela...
J'ai donc rajouté entre les balises <script> :
Code javascript : 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
26
27 function maFonctionAjax(unParametre,action) { var MonAjax; if (window.XMLHttpRequest){ MonAjax = new XMLHttpRequest(); // Mozilla, Safari, Chrome, Firefox... } else if (window.ActiveXObject) { MonAjax = new ActiveXObject('Microsoft.XMLHTTP'); // IE } else { alert("Change navigator..."); MonAjax = false; } MonAjax.open('POST',"resultados_pdf.php",true); //méthode pos, fichier php cible MonAjax.onreadystatechange = function() { if (MonAjax.readyState == 4 && MonAjax.status == 200) { if(action=="baremos") { document.getElementById('cela.innerHTML').innerHTML = MonAjax.responseText;} if(action=="baremos1") { document.getElementById('nombre_cela').innerHTML = MonAjax.responseText;} if(action=="baremos2") { document.getElementById('celda').innerHTML = MonAjax.responseText;} } } MonAjax.setRequestHeader('Content-type','application/x-www-form-urlencoded'); MonAjax.send('unParametre='+unParametre+'&action='+action); }
Et j'ai aussi rajouté dans ma fonction jvscript "baremos" ce code :
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 maFonctionAjax(celda.innerHTML,"baremos"); mafonctionAjax(nombre_celda, "baremos1"); mafonctionAjax(celda, "baremos2");
Mais là je suis un peu perdue et j'ai l'impression de mal m'y prendre avec AJAX... Un petit conseil ?![]()
Partager